2012-07-26 92 views
0

在我的Web應用程序的登錄頁面中,我有一個複選框。輸入用戶名/密碼後,如果用戶未勾選複選框(T & C),則不應將其帶入主頁,並會顯示警告錯誤消息。Javascript - 在警告消息後停止處理

我試過下面的代碼。但它不起作用。即顯示一條警報消息。但用戶被帶到下一頁(主頁)。我試圖返回假,但沒有運氣。

誰能告訴如何解決這個問題?

function doSubmit() { 
    var checkbox = document.getElementById("terms"); 
    if (!checkbox.checked) { 
     alert("error message here!"); 
     return; 
    } 
    document.getElementById("f").submit(); 
}​ 

我打電話doSubmit從

<input id="proceed" onclick="doSubmit()" type="submit" value="${fn:escapeXml(submit_label)}" /> 
+2

你是如何調用doSubmit() – bugwheels94 2012-07-26 07:01:15

+0

@ user1351052是'doSubmit'在提交事件,一個按鈕單擊事件調用,其他一些任意的電話嗎? – Musa 2012-07-26 07:23:10

回答

1

嘗試改變輸入類型按鈕而不是提交,委託提交動作給JS函數:

<input id="proceed" onclick="doSubmit()" type="button" value="${fn:escapeXml(submit_label)}" /> 
+0

對於已選中(正面情景)和未選中(消極情景)複選框,下一頁未顯示:( – user1514499 2012-07-26 10:01:21

+0

)您是否已將表單的「id」屬性設置爲「f」? – jelies 2012-07-26 10:19:02

0

您提交表單之前,您應檢查checkbox的狀態,如果它不檢查,防止從提交。在jQuery中,以下代碼執行這些技巧。

$(form).submit(function(e){ 
    if($(this).find("#terms").is('checked')){ 
     e.preventDefault(); 
     alert('error messge goes here'); 
    } 
} 
2

而是輸入使用onclick的,請嘗試使用下面的表單標籤:

onsubmit="return doSubmit()" 

而且JS功能:

function doSubmit() { 
    var checkbox = document.getElementById("terms"); 
    if (!checkbox.checked) { 
     alert("error message here!"); 
     return false; 
    } 
}