我在使用jQuery submit()
提交表单时遇到问题。
我的网页上没有任何名称为name="submit"
或name="Submit"
的元素,ID也是如此。
我的jQuery代码如下:
$(document).ready(function () {
$(document).on('click', "#appSubmit",function(e){
e.preventDefault();
var value = $("#time").val();
if(value == "--"){
$( "#err-time" ).dialog( "open" );
}else{
alert("1");
var dummy = $("#appSubmit").val();
alert(dummy);
$("#appSubmit").submit();
alert("2");
}
});
});
所有警报都能正常工作,即使alert(dummy);
打印出正确的值也是如此。 alert("2");
打印出来,因此它甚至没有打破$("#appSubmit").submit();
我的提交按钮是
<input type="submit" name="appSubmit" id="appSubmit" value="Apply">
任何想法都会受到赞赏,谢谢。
编辑:
对不起,我忘了发一个实际的问题了。当表单在我的代码中点击$("#appSubmit").submit();
行时,表单不会提交。它也没有破裂。
在jQuery网站上,他们提供的示例将事件附加到<i+n+p+u+t type="submit">
,但我尝试将事件附加到表单的ID并尝试将其保持相同的行为。通过线路没有任何破坏。
我能使用它的唯一方法是使用基本的javascript提交调用document.applySubmit.submit();
哪个好,并且完成工作。但我仍然想知道这一点。
编辑2:
我会尝试.closest方法。直到现在我才知道那是什么。谢谢。如果有效,我会发布。
编辑3:
这个问题被我发布了3次吗?如果是的话,我很抱歉。我一定无法找到自己的问题,并假设我从未完成整个问题提交过程,并尝试在第二次/第三次正确发布。
编辑: Blazemonger的建议奏效了。
答案 0 :(得分:10)
你没有.submit()
一个按钮,你.submit()
一个表格。尝试:
$("#appSubmit").closest('form').submit();
或更好:
$(this).closest('form').submit();