做一个;“页面加载”;图形停止使用jquery

做一个;“页面加载”;图形停止使用jquery,jquery,Jquery,我有一个表格,提交后,我想一个简短的“纺车”类型的页面加载出现,而形式的进程。典型的眼糖果,以确保一个人知道点击通过,不会重新点击 我有我的表格,我有下面的代码: <div style="display:none" id="pleasewait"><img src="images/loading.gif" /></div> <script type=text/javascript> $(function() { $(".submit").click

我有一个表格,提交后,我想一个简短的“纺车”类型的页面加载出现,而形式的进程。典型的眼糖果,以确保一个人知道点击通过,不会重新点击

我有我的表格,我有下面的代码:

<div style="display:none" id="pleasewait"><img src="images/loading.gif" /></div>
<script type=text/javascript>
$(function() {
$(".submit").click(function() {
    $("#pleasewait").show();
    $(".submit").load("contact.php", function(){ $("#pleasewait").hide(); });
    return false;
    });
});
</script>

$(函数(){
$(“.submit”)。单击(函数(){
$(“#请看”).show();
$(“.submit”).load(“contact.php”,function(){$(“#plessewait”).hide();});
返回false;
});
});
问题是,这个表单正在发布到PHP SELF,一旦点击,可爱的小旋转“请等待”就会出现,看起来很棒,表单从不发布…它只是挂起。我试着看看JQuery是否能分辨出“if POST”,但这似乎很棘手。是否有一种好方法可以更改函数的最后一行,以便它能够识别已发布的表单并停止微调器?我想问题出在第二个“.submit”部分……我就是不知道我需要做什么


感谢您的帮助或建议。

您正在加载contact.php页面,而不是提交给它。此外,您不应使用按钮上的单击事件来提交表单。将代码添加到表单本身的提交事件中。你想要更像这样的东西。仅供参考:我尚未测试此代码

.load()
的第三个参数接受一个要在完成时运行的函数

因此,您的解决方案应该是:


$(“.submit”).load(“contact.php”,{},function(){$(“#plesewait”).hide();})

我找到了一个非常简单的解决方案。一开始它很不稳定,但我意识到预加载图像解决了这个问题

首先,#plessewait的css是{display:none;},它在需要时隐藏它

在页面的头部,在脚本标记之间,我添加了以下代码:

function showimage()
{
document.getElementById('pleasewait').style.display = "block";
}
在文档正文中,我添加了一个带有动画gif的div:

<div id="pleasewait"><img src="spinningwheel.gif" /></div>

这正是我所希望的,只要页面加载到PHP Self或另一个页面,它就会旋转轮子。我没有包括预加载图像以使其顺利工作的代码。希望这能帮助其他人解决同样的问题。

您对
load()
函数的理解是正确的,但他实际上是在尝试提交到contact.php页面,而不是将其加载到submit元素中。
load()
函数从指定的URL加载生成的HTML并将其附加到所选元素中。您需要使用
ajax
方法。谢谢你的建议。我尝试了上面的代码,但没有成功…表单没有提交,图像也没有出现。我需要做些什么(链接到库?)来支持.ajax吗?对不起,更正!它起作用了…但只在一瞬间。这其实没关系,因为在这种情况下,我怀疑处理过程只需要那么长时间。让我觉得它挂起的原因是它从未加载确认——我有一个php“if POST”语句,它处理表单、验证并显示一条“谢谢,您的评论已发送。”消息,但该部分不起作用。所以我认为缺少的是表格的实际提交。图像的显示似乎工作正常…它停止了,所以我离它更近了一步!只是不完全是这样……上面的代码通过
get
将数据发送到contact.php。您可以很容易地将其更改为
post
。您还可以将成功消息添加为
,并在调用success函数时显示它。
<div id="pleasewait"><img src="spinningwheel.gif" /></div>
onClick="showimage()"