2014-10-06 21 views
0

我有這個標記:檢查複選框被選中,那麼發送

<form action="http://acumbamail.com/signup/13565/" method="POST"> 
    <input type="checkbox" id="privacidad-btn" > Acepto política de privacidad<br> 
    <input type="button" value="Enviar" id="submit_acumba"> 
</form> 

我想,如果在button用戶點擊沒有選中複選框有一個警告,他必須同意條款(檢查checkbox )。任何關於最佳方法的想法?

我開始做這個方式,但不知道怎麼走那條路:

if (jQuery("#privacidad-btn").is(":checked")) { 

} 
+1

您已經使用正確的條件。什麼不工作? – 2014-10-06 16:17:54

+0

我不知道如何從那裏去。我的意思是,如果我在條件中加入了alert(),那麼即使複選框沒有被選中,按鈕也會發送信息。 – codek 2014-10-06 16:19:09

+0

:您需要在按鈕單擊事件中編寫條件。請看下面的tymeJVs答案。 – 2014-10-06 16:19:50

回答

3

一種方法,我用HTML5喜歡的是表單驗證

只是把required上的複選框當試圖提交它,他們將有酥料餅的對話框中有自己的語言警告(它在什麼是錯用它形成了良好的熒光筆)

<input required type="checkbox" id="privacidad-btn"> 

你可以這樣做tymeJV建議按鈕點擊事件$("#submit_acumba").click(...) 這樣你會支持更多的瀏覽器。但是:它只會通過點擊一個按鈕來驗證

但也有表單提交事件。

$("form").submit(function(e) { 
    if (! jQuery("#privacidad-btn").is(":checked")) { 
     // Not checked abort the default submit 
     e.preventDefault(); 
    } 
}); 

不同的是,它必須做所有的本地表單驗證之前 - >如果它是無效的,將不會觸發一個提交或調用函數
與button.onclick這將避免本地驗證因爲它會提交事件之前運行

+0

+1票。清楚的解釋。 – ursitesion 2014-10-06 16:44:07

0

您需要爲按鈕的處理程序,以及:

$("#submit_acumba").click(function(e) { 
    e.preventDefault(); 
    if (jQuery("#privacidad-btn").is(":checked")) { 
     //submit! 
    } 
}) 
0

使用這條直線和簡單的HTML實現,你可以做到這一點,沒有任何特殊的腳本(JAVASCRIPT/J查詢):

<form> 
<p><input type="checkbox" required name="terms"> I accept the <u>Terms and Conditions</u></p> 
<p><input type="submit"></p> 
</form> 

這裏有一個的jsfiddle鏈接,您可以用此方面發揮:http://jsfiddle.net/zs9b167b/

相關問題