Ajax線上提交留言並即時顯示的js代碼[修正版]_表單特效

來源:互聯網
上載者:User
學習Ajax提交的朋友,不妨參考一下吧,從中你會明白一些技巧吧。
因代碼本身的問題,雲棲社區已經修正,歡迎大家測試。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Ajax留言本</title> <style type="text/css"> * { padding: 0; margin: 0; } li { list-style: none; } body { background: #f9f9f9; font-size: 14px; } #explain { height: 60px; border-bottom: 1px solid #999999; background: #eee; font-size: 14px; color: #666; text-align: center; line-height: 60px; } #explain a { color: #990000; font-weight: bold; text-decoration: none; border-bottom: 1px dotted #990000; } #explain a:hover { border-bottom: 2px solid #990000; } #explain strong { color: #990000; } #box { width: 450px; padding: 10px; border: 1px solid #ccc; background: #f4f4f4; margin: 10px auto; } #fill_in { margin-bottom: 10px; } #fill_in li { padding: 5px 0; } #fill_in .text { width: 380px; height: 30px; padding: 0 10px; border: 1px solid #ccc; line-height: 30px; font-size: 14px; font-family: arial; } #fill_in textarea { width: 380px; height: 100px; line-height: 20px; padding: 5px 10px; border: 1px solid #ccc; font-size: 14px; font-family: arial; overflow: auto; vertical-align: top; } #fill_in .btn { border: none; width: 100px; height: 30px; border: 1px solid #ccc; background: #fff; color: #666; font-size: 14px; position: relative; left: 42px; } #message_text { display: none; } #message_text h2 { font-size: 14px; padding: 6px 0 4px 10px; background: #ddd; border-bottom: 1px solid #ccc; } #message_text li { background: #f9f9f9; border-bottom: 1px solid #ccc; color: #666; overflow: hidden; } #message_text h3 { padding: 10px; font-size: 14px; line-height: 24px; } #message_text p { padding: 0 10px 10px; text-indent: 28px; line-height: 20px; } </style> <script type="text/javascript"> var oBtn = null; var oForm = null; var oText = null; var oTextarea = null; var timer = null; var speed = 0; var oLi = null var oH3 = null; var oP = null; window.onload = function() { oBtn = document.getElementById("btn"); oBtn.onclick = getValue; }; function getValue() { document.getElementById("message_text").style.display = "block"; oForm = document.getElementsByTagName("form")[0]; oText = document.getElementById("text"); oTextarea = document.getElementsByTagName("textarea")[0]; oUl = document.getElementById("message_text").getElementsByTagName("ul")[0]; oForm.onsubmit = function(){ return false; }; if( oText.value == "" || oTextarea.value == "" ) { alert("就二個框,你還不寫全了啊?"); return; } oLi = document.createElement("li"); oH3 = document.createElement("h3"); oP = document.createElement("p"); oH3.innerHTML = oText.value; oP.innerHTML = oTextarea.value; if(oUl.childNodes[0]) { oUl.insertBefore(oLi,oUl.childNodes[0]); } else { oUl.appendChild(oLi); } oLi.appendChild(oH3); oLi.appendChild(oP); oText.value = ""; oTextarea.value = ""; var h = oLi.offsetHeight; oLi.style.height = '0px'; if(timer) { clearInterval(timer); } timer = setInterval("goTime("+h+")", 35); goTime(h); } function goTime(target) { var top = oLi.offsetHeight; speed += 3; top += speed; if(top > target) { top = target; speed *= -0.7; } if(top===target && Math.abs(speed) < 3) { clearInterval(timer); timer = null; oLi.style.height = target + "px"; } oLi.style.height = top + "px"; } </script> </head> <body> <div id="explain"> 不妨多提交幾次留言試試看……</div> <div id="box"> <ul id="fill_in"> <form> <li>姓名:<input id="text" type="text" class="text" /></li> <li>內容:<textarea id="content" ></textarea></li> <li><input id="btn" type="submit" value="提交" class="btn" /></li> </form> </ul> <div id="message_text"> <h2>顯示留言</h2> <ul></ul> </div> </div> </body> </html>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.