在所有form.submit()之前执行一个函数;

时间:2015-05-26 09:28:54

标签: javascript jquery forms events submit

有什么方法可以阻止所有表单提交?

我的想法是,例如,我有一个链接onclick =“form.submit();”或输入[type = submit]等,我需要在所有提交之前执行一个函数

真实示例: 我有那个链接:

 <a style="margin-right: 2px; margin-left: 2px;" target="_self" href="#" onclick="if(validateform(form)) form.submit(); return false;"><img border="0" title="Insert" src="/images/ico_save_changes.png"></a> 

我试过了:

jQuery(form).on("submit", function(event)){ event.preventDefault(); alert("ON"); return false;}) 
jQuery(form).live("submit", function(event)){ event.preventDefault(); alert("LIVE"); return false;}) 
jQuery(form).submit( function(event)){ event.preventDefault(); alert("EVENT"); return false;})

没有成功...... 表单始终提交,我的提醒不会显示...

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

在jQuery中创建一个函数,并在其上调用它,或者你想要调用它,然后在函数结束时,如果你想这样做,你可以调用另一个函数。

答案 1 :(得分:1)

您无法使用事件处理程序从Javascript捕获表单提交。只有在用户提交表单时才会触发提交事件。

您需要将所需内容放入函数中,然后从onclick属性中调用它。

答案 2 :(得分:1)

编辑:更改以便在单击图像时调用验证表单,并在验证确认后提交表单。

&#13;
&#13;
function validateForm() {
    //get your form information
  
    if (EVERYTHING OK) {
        //Returning true will submit the form
        $('#form1').submit();
    }else{
        alert("Form validation failed");
    }
}
&#13;
<form name="form1" action="#" method="post" id="form1">
Input 1: <input type="text" name="input1">
</form>

<img border="0" title="Insert" src="/images/ico_save_changes.png" onclick="validateForm()">
&#13;
&#13;
&#13;