我会尽力让你走过这么慢。我试图做一个经常变化的民意调查,所以我必须让它变得有动力。我还需要没有页面重新加载,所以我需要使用Ajax来提交表单。所以我做的是创建一个PHP脚本,它将回显我的民意调查。这很好用,我按照我想要的方式进行调查。哦,是的,忘了告诉这是一个多步民意调查。我通过在JQM“页面”中隐藏/显示div来一次浏览2-4个问题。我的意思是:
<div data-role='page'>
在最后一页我有一个提交按钮而不是下一个按钮,因为民意调查显然没有“下一个”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文件,然后将其发布到下面显示的abit div。 (它真的应该保存到数据库,但我试图回应它,直到我看到它的工作原理)。现在,扭曲的是我在非动态表单上做了另一段相同的代码,这些代码是通过PHP创建的 not ,但仅仅是用HTML绘制的。这也是一个跨越3个div /'pages'的多步调查。而且没有任何问题提交。
总结一下:我有两个不同的项目,每个项目都解决了我的一半问题。一个动态生成表单,另一个保存了我制作的静态表单。两种形式都包含各种复选框,无线电按钮和textareas。问题是,它们不会一起工作。当我点击提交按钮时,我希望表单能够回答这个div中的答案(你读到的几行代码):
<div data-role="content" id="answers">
Answers comes here:
</div>
尽管如此,这个div仍然是一样的。我删掉了$(“#submit”)。点击(function())来提醒('test');我仍然无法得到反应。我已经对变量名称和div名称以及任何其他相关名称进行了千万亿次检查,并且我对每个单独的部分进行了各种小调整(都生成了轮询并使用ajax发布)以及我的尝试结合它们没有成功。那么,百万美元的问题可能是错的吗?我最后一个假设是,$(“#submit”)。click ...的JavaScript函数在生成轮询的脚本之前加载。这有意义的是,当声明提交点击功能时,它不会链接到如下所示的任何按钮:
<input type="button" id="submit" name="Submit"/>
有没有人知道如何让这个提交按钮起作用,或者甚至知道为什么不工作?感谢所有读过这篇文章的人,我希望你能够并且愿意分享一些可以帮助我的知识。还要感谢Stack Overflow的创建者为此实现了alt + z功能,因为我在写这个句子之前不小心点击了alt + a随机字母。祝你有愉快的一天!
编辑:在凯文的一个小贴士的答案之后尝试了这个,但即使是第一个警报按钮也没有反应:
$("#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;
}
})
});
答案 0 :(得分:0)
你需要一个错误的回报;在$(&#34;#answers&#34;)下.html(响应);在成功函数的范围内。让我知道这个是否奏效。祝你好运,凯文
答案 1 :(得分:0)
我刚刚在没有帖子的情况下尝试了上面的脚本,它运行正常。在执行此脚本之前是否已加载jquery,和/或您在控制台中是否有任何javascript错误?