我是AJAX / Jquery / Javaascript的新手,所以请原谅我的无知。我找到了一些代码来帮助我在单击表单提交按钮后显示AJAX窗口。
以下是代码:
var ray={
ajax:function(st)
{
this.show('load');
},
show:function(el)
{
this.getID(el).style.display='';
},
getID:function(el)
{
return document.getElementById(el);
}
}
以下是表单的HTML:
<div id="load" style="display:none;">Loading... Please wait.</div>
<form action="test_form.php" method="POST" onsubmit="return ray.ajax()">
<input type="hidden" name="value1" value="value1>">
<input type="submit" value="Submit">
</form>
单击按钮时加载消息显示正常,但永远不会消失。理想情况下,我希望在工作完成后消息消失,但在10秒后隐藏它也可以正常工作。
我尝试过使用hide()和setTimeout()进行各种编辑,但是我缺乏使用AJAX / JavaScript的经验会破坏代码。
答案 0 :(得分:3)
您可以: http://jsfiddle.net/DHgN4/1/
你在下面的评论中说你的问题,你只想让它在10秒后关闭。这样就可以了。
显然我不得不评论你的form
因为小提琴不能调用test_form.php
,这就是为什么我创建了一个按钮来演示代码。它应该足以让你前进。小提琴的主要部分是这一行:
setTimeout(function(){$("#load").hide();},10000);
这将使用jQuery在10秒后隐藏它。如果您不想使用jQuery,请将其更改为此...
setTimeout(function(){document.getElementById('load').style.display='none';},10000);
我不明白你为什么要这样设置。做一个真正的ajax调用,使用ajax发送数据,然后等待响应并做出反应将更加清晰。