我正在寻找我的问题的答案,但我没有找到解决方案。这是类似的主题link但我有不同的代码,我不知道如何从这个主题回答我的代码。
这是我的问题。我将我的表单order_form
发送给test.php
。
除input submit
外,每个表单值都正在发送。我的脚本基于检查<input id="sendform" type="submit" value="ORDER PRODUCT" name="sendform"/>
是否已发送。
以下是我用来发送表单的代码。
$("#order_form").submit(function() {
$.ajax({
type: "POST",
url: "includes/test.php",
data: $("#order_form").serialize(), // serializes the form's elements.
success: function(data)
{
alert(data);
}
});
return false; // avoid to execute the actual submit of the form.
});
这是test.php的内容
echo '<pre>';
print_r($_POST);
echo '</pre>';
这是考试形式,因为我的形式非常大。
<form id="order_form">
<input type="text" name="w2b" value="abc"/>
<input id="sendform" type="submit" value="ZAMAWIAM" name="sendform"/>
</form>
答案 0 :(得分:0)
在HTML5表单中,当您将参数和变量传递给ajax函数时,值数据来自&#34;提交输入&#34;没有通过。因此,如果您将表单设置为:
<form>
<input type="text" name="foo" value="bar">
<input type="submit" name="submitTest" value="Hello World!">
</form>
&#34; submitTest&#34;的值没有被发送。唯一被发送的是参数&#34; foo&#34;值&#34; bar&#34;。 &#34; submitTest&#34;在这种情况下,只提交表单并执行ajax调用。
要解决此问题,只需在表单中添加隐藏元素即可。 现在看起来这个
<form>
<input type="text" name="foo" value="bar">
<input type="hidden" name="sendform" value="ZAMAWIAM">
<input type="submit" name="submitTest" value="Hello World!">
</form>
这会将值发送到您的ajax调用,您可以将它用于您可能需要的任何内容。
答案 1 :(得分:0)
确保将jquery代码包装在
中$(function(){
//code here
});
再次不要忘记阻止默认事件,下面是重写你的jquery代码
$(function(){
$("#order_form").submit(function(event) {
event.preventDefault();
$.ajax({
type: "POST",
url: "includes/test.php",
data: $("#order_form").serialize(), // serializes the form's elements.
success: function(data)
{
alert(data);
}
});//end ajax
});//end on submit
});//end jquery