2015-05-26 102 views
-1

有什么办法可以阻止所有表单提交?在所有form.submit()之前执行一个函数。

我的想法是,例如,我有一个的onclick = “form.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;}) 

没有成功... 的表单总是提交和我的警示不显示...

有人能帮助我吗?

+0

哪里是你'validateform'功能? – Mivaweb

+0

提交处理程序仅在用户触发表单提交时运行,而不是从Javascript代码完成时运行。 – Barmar

+0

@barmar,因为我在做form.submit();没有办法阻止默认事件,对吗? –

回答

1

让jQuery中的函数,调用的onclick它,或徘徊无论你想打电话,然后在函数结束时,您可以调用另一个函数,如果你想这样做。

1

您不能使用事件处理程序来捕获来自Javascript的表单提交。提交事件仅在用户提交表单时触发。

你需要把你想要的东西成一个函数,然后调用从onclick属性。

1

编辑:更改,使图像被点击时调用验证表单,并提交表单如果验证好。

function validateForm() { 
 
    //get your form information 
 
    
 
    if (EVERYTHING OK) { 
 
     //Returning true will submit the form 
 
     $('#form1').submit(); 
 
    }else{ 
 
     alert("Form validation failed"); 
 
    } 
 
}
<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()">

+0

嗨,谢谢!但我真的需要保持链接按钮... –

+0

好吧,我已经更改了代码,以便在单击图像时调用该函数,并且如果验证无误,它将提交表单 – jakecfc1992

相关问题