【发布时间】:2013-03-08 09:34:59
【问题描述】:
我做了一个 ajax 来防止表单提交验证
我正在通过将 ajax 返回值存储在隐藏变量中来进行验证...
由于在我的 else 循环中返回 false,我的表单未提交
在 Ajax 返回成功后,我从 jquery 提交表单,但我得到了
未捕获的类型错误:对象# 的属性“提交”不是函数 请帮帮我.....
我只是在从 test.php 获取的隐藏字段中存储一个值 1 ....
但控制台在 $("#foo")[0].submit(); 上显示错误
如果我第二次点击提交,JavaScript 检查隐藏的值 = 1 并进入真正的循环......然后它得到提交
提前谢谢你
<form id="foo" name="foo" action="pop.php" method="get">
<label for="bar">A bar</label>
<input id="bar" name="bar" type="text" value="" />
<input id="bar1" name="bar1" type="text" value="" />
<input type="hidden" name="statushidden" id="statushidden" value=""/>
<input type="submit" value="submit" id="submit" />
</form>
$(document).ready(function() {
$("#submit").click(function() {
var $form = $(this);
var status = validdata();
if (document.getElementById("statushidden").value=="1")
{
alert("true loop");
return true;
}
else
{
alert("false loop");
return false;
}
});
function validdata()
{
var url = "test.php";
$.ajax({
type: "POST",
beforeSend: function(){},
url: url,
data: $("#foo").serialize(), // serializes the form's elements.
success: function(data)
{
document.getElementById("statushidden").value=data;
console.log($("#foo")[0].submit);
$("#foo")[0].submit(); ///// SHOWING Error on this line///////
}
});
}
});
【问题讨论】: