如何手动触发提交功能?
How trigger on submit function manually?
我有在表单内的提交按钮上触发的提交功能。这是示例:
$(document.body).on('submit', '#myfrm', submitFrm);
function submitFrm(e){
e.preventDefault();
var frmData = $(this).serialize();
$.ajax({
type: 'POST',
url: 'ajax/form_data.cfm',
data: frmData
}).done(function(data){
//data saved
}).fail(function(jqXHR, textStatus, errorThrown){
alert('Error: '+errorThrown);
});
}
}
现在我想从另一个函数触发 submitFrm()
函数,如下所示:
function Cancel() {
submitFrm();
}
这将引发 e
不存在的错误。我想提交需要手动触发。有没有办法用 JQuery 做到这一点?
错误发生是因为您在调用 submitFrm
时没有传递事件 (e
)。当 submit
事件发生时,事件参数由 JavaScript 传递给函数。如果您手动调用该函数,则没有事件。
您可以做的是使用 JQuery 获取对表单元素 ($('#myfrm')
) 的引用并在命中时触发提交事件:
function Cancel() {
$('#myfrm').submit();
}
以这种方式在表单上触发提交事件,并在输入事件中调用 submitFrm
处理程序。
function Cancel() {
$('#myfrm').submit();
}
我有在表单内的提交按钮上触发的提交功能。这是示例:
$(document.body).on('submit', '#myfrm', submitFrm);
function submitFrm(e){
e.preventDefault();
var frmData = $(this).serialize();
$.ajax({
type: 'POST',
url: 'ajax/form_data.cfm',
data: frmData
}).done(function(data){
//data saved
}).fail(function(jqXHR, textStatus, errorThrown){
alert('Error: '+errorThrown);
});
}
}
现在我想从另一个函数触发 submitFrm()
函数,如下所示:
function Cancel() {
submitFrm();
}
这将引发 e
不存在的错误。我想提交需要手动触发。有没有办法用 JQuery 做到这一点?
错误发生是因为您在调用 submitFrm
时没有传递事件 (e
)。当 submit
事件发生时,事件参数由 JavaScript 传递给函数。如果您手动调用该函数,则没有事件。
您可以做的是使用 JQuery 获取对表单元素 ($('#myfrm')
) 的引用并在命中时触发提交事件:
function Cancel() {
$('#myfrm').submit();
}
以这种方式在表单上触发提交事件,并在输入事件中调用 submitFrm
处理程序。
function Cancel() {
$('#myfrm').submit();
}