2015-05-26 103 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

相關問題