Ajax在线提交留言并实时显示的js代码[修正版]
学习Ajax提交的朋友,不妨参考一下吧,从中你会明白一些技巧吧。
因代码本身的问题,我们已经修正,欢迎大家测试。
Ajax留言本
* { 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; }
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)
不妨多提交几次留言试试看……
- 姓名:
- 内容:
显示留言
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]