【发布时间】:2017-12-05 17:58:26
【问题描述】:
我正在使用 Jquery,如果单击链接或执行某些操作,我想自动更新页面上的表单。如果我使用 .submit() 它工作正常,如果我使用 .submit(function(e){}) 表单将不会提交。我需要从表单提交中获得响应,这就是为什么我需要 .submit(function(e){}) 来处理 .submit()。谢谢。
我有一个表格:
<form action="action.html" id="form1">
</form>
我有一个链接:
<a href="" data-id="1" class="myLink">Link</a>
当我点击链接时,我会执行以下操作:
$(document).on('click', '.myLink', function(e) {
// this will call a function to submit my form...
var response = saveEmailDraft($(this).data('id'));
e.preventDefault();
});
function saveEmailDraft(id){
$('#form' + id).submit(); // this works fine...
$('#form' + id).submit(function(e){
// this DOES NOT work...
alert('my form submitted!');
});
// I've also tried;
$(document).ready(function() {
$('#form' + id).submit(); // this works fine...
$('#form' + id).submit(function(e){
// this DOES NOT work...
alert('my form submitted!');
});
});
}
【问题讨论】:
-
您也需要在提交表单时
.preventDefault()。 -
具体如何“不起作用”?您是否尝试在设置该处理程序后提交表单?当你这样做时会发生什么?你期待
var response包含什么?为什么?当你第一次调用.submit()时,整个页面不会重新加载吗? -
什么都没有发生,没有执行 ajax 请求。当我只使用 .submit() 时,ajax 请求会发生, .submit(function()) 它会爆炸。
-
所以你调用提交而不是绑定一个方法......所以你想知道为什么某些东西没有响应已经发出的调用......
-
@LargeTuna:此代码中没有 AJAX。而且“它爆炸了”并不能真正描述问题。
标签: javascript php jquery html forms