我会努力让你走过这段非常慢的路。我正试图进行一项经常会发生变化的民意测验,所以我必须使它具有动态性。我还需要在不重新加载页面的情况下实现这一点,所以我需要使用Ajax提交表单。因此,我所做的就是创建一个PHP脚本,它将为我响应投票结果。这件事做得很好,我得到的民意测验就是我想要的。哦,是啊,忘了告诉我这是一次多阶段投票。我一次浏览2-4个问题,在JQM“页面”中隐藏/显示div。我的意思是:
<div data-role='page'>在最后一页,我确实有一个提交按钮,而不是next按钮,因为投票显然没有显示"next“div。此提交按钮不工作、形状或表单,因此这里是问题。
$("#submit").click(function()
{
if ($("#form").validate())
{
$.ajax(
{
type:'POST',
url:'add.php',
data:$('#form').serialize(),
success:function(response)
{
$("#answers").html(response);
}
});
}
else
{
return false;
}
})这应该是将我的表单数据发送到另一个名为add.php的PHP文件,然后将其发布到下面显示的div中。(这实际上是为了保存到数据库,但我试图回显它,直到我看到它的工作)。现在,令人费解的是,我在一种非动态形式上做了另一段相同的代码,它不是通过PHP创建的,而只是用HTML绘制的。这也是一个多步骤的民意调查,跨度超过3个div/‘页面’。而这完全没有问题提交。
因此,总结一下:我有两个不同的项目,每个项目处理了我一半的问题。一个动态生成表单,另一个保存我创建的静态表单。这两种表格都由各种复选框、无线电按钮和文本区域组成。问题是他们不会一起工作。当我单击submit按钮时,我希望表单会将答案回显到这个div中(您在这个div中读到了几行内容):
<div data-role="content" id="answers">
Answers comes here:
</div>尽管如此,这个部门仍然是一样的。我去掉了$(“#submit”).click(函数())来发出警报(‘test’);我仍然没有得到任何反应。我已经检查了变量名称、div名称和任何其他相关的名称,并对每个单独部分进行了各种小的调整(包括生成民意调查和使用ajax发布),以及我试图将它们组合起来但没有成功的尝试。所以,百万美元的问题是什么可能是错的?我剩下的最后一个假设是,在某种程度上,用于$("#submit").click的.click函数.在生成轮询的脚本之前加载。这将很有意义,当submit单击函数被声明时,它将不会链接到如下所示的任何按钮:
<input type="button" id="submit" name="Submit"/>有没有人知道我如何使这个提交按钮工作,或者甚至知道为什么不工作?感谢所有读了这么多书的人,我希望你们能够并且愿意分享一些可以帮助我的知识。另外,由于Stack溢出的创建者实现了一个alt+z函数,因为我意外地单击了alt+a,然后在写之前的句子时随机选择了字母。祝您今天愉快!
编辑:下面是Kevin给出的提示后尝试这样做的,但是即使是第一个警报按钮也没有反应:
$("#submit").click(function()
{
alert("it works");
if ($("#form").validate())
{
$.ajax(
{
type:'POST',
url:'add.php',
data:$('#form').serialize(),
success:function(response)
{
$("#answers").html(response);
return false;
}
});
}
else
{
return false;
}
})
});发布于 2012-07-18 08:32:43
您需要返回false;在$(“#答案”).html(响应)下;在成功函数的范围内。如果这有用的话请告诉我。祝你好运凯文
发布于 2012-08-07 16:05:04
我只是试了上面的脚本,没有帖子,它工作得很好。在执行此脚本之前是否加载了jquery,和/或控制台中是否存在或存在任何javascript错误?
https://stackoverflow.com/questions/11525767
复制相似问题