0

私のWebアプリケーションのログインページには、チェックボックスがあります。ユーザー名/パスワードを入力した後、ユーザーがチェックボックス(T&C)にチェックを入れないと、ホームページに移動せず、アラートエラーメッセージが表示されます。

次のコードを試しました。しかし、それは機能していません。つまり、アラートメッセージが表示されます。ただし、ユーザーは次のページ(ホームページ)に移動します。falseを返してみましたが、うまくいきませんでした。

誰かがこれを修正する方法を教えてもらえますか?

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)}" />
4

3 に答える 3

2

入力で使用する代わりにonclick、フォームタグで以下を使用してみてください。

onsubmit="return doSubmit()"

そして、jsは次のように機能します。

function doSubmit() {
    var checkbox = document.getElementById("terms");
    if (!checkbox.checked) {
        alert("error message here!");
        return false;
    } 
}
于 2012-07-26T07:37:56.577 に答える
1

入力タイプを送信ではなくボタンに変更して、送信アクションをJS関数に委任してみてください。

<input id="proceed" onclick="doSubmit()" type="button" value="${fn:escapeXml(submit_label)}" />
于 2012-07-26T09:29:46.103 に答える
0

フォームを送信する前に、checkboxのステータスを確認する必要があります。チェックされていない場合は、が送信されないようにしてください。jQueryでは、次のコードがトリックを実行します。

$(form).submit(function(e){
    if($(this).find("#terms").is('checked')){
        e.preventDefault();
        alert('error messge goes here');
    }
}
于 2012-07-26T07:02:48.087 に答える