繁体   English   中英

如何手动触发提交功能?

[英]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?

发生错误是因为您在未通过事件( e )的情况下调用了submitFrm submit事件发生时,JavaScript将事件参数传递给函数。 如果您手动调用该函数,则没有该事件。

您可以做的是使用JQuery获取对表单元素( $('#myfrm') )的引用,并在命中时触发$('#myfrm')事件:

function Cancel() {
  $('#myfrm').submit();
}

这样,在表单上触发了submitFrm事件,并使用输入中的事件调用了submitFrm处理程序。

function Cancel() {
    $('#myfrm').submit();
}

根据https://api.jquery.com/submit/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM