如何手动触发提交功能?

时间:2019-04-08 14:24:49

标签: javascript jquery eventtrigger

我具有在表单内的“提交”按钮上触发的提交功能。这是示例:

$(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做到这一点?

2 个答案:

答案 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();
}

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