我具有在表单内的“提交”按钮上触发的提交功能。这是示例:
$(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做到这一点?
答案 0 :(得分:1)
发生错误是因为您正在调用program HelloWorld;
function F (a : integer) : integer;
begin
if (a = 1) or (a = 2) then
F := 2
else
F := F(a-1) + F(a-2);
end;
begin
WriteLn(F(8));
end.
而未传递事件(submitFrm
)。当发生e
事件时,JavaScript将事件参数传递给函数。如果您手动调用该函数,则没有该事件。
您可以做的是使用JQuery获取对表单元素(submit
)的引用,并在点击时触发Submit事件:
$('#myfrm')
通过这种方式,提交事件在表单上被触发,function Cancel() {
$('#myfrm').submit();
}
处理程序在输入中被调用。
答案 1 :(得分:1)
function Cancel() {
$('#myfrm').submit();
}