1

フォームの選択チェックボックスで助けが必要です。フォームのチェックボックスがオフ (のみ) のときにアラートを表示したいと思います。私のコード:

<form action="index.php?page=contact&amp;send=ok" method="POST" id="form">
[...]
<label for="message">Checkbox:</label><input type="checkbox" id="checkbox" name="checkbox">           
<input type="submit" value="Send" onclick="testcheck()" />
</form>

<script type="text/javascript">
function testcheck()
{
    if (jQuery("#checkbox").prop("checked"))
        alert("first button checked");
    else
        alert("none checked");
}
</script>
4

4 に答える 4

10

このコードは動作するはずです:

function testcheck()
{
    if (!jQuery("#checkbox").is(":checked")) {
        alert("none checked");
        return false;
    }
    return true;
}

HTMLコードは次のとおりです。

<input type="submit" value="Send" onclick="return testcheck()" />

return falseデフォルトアクション(フォーム送信)の実行を停止します

于 2012-11-05T20:42:37.600 に答える
4

FAngelは正しいですが、私はこれも行います:

<input type="submit" value="Send" id="testcheck" />

と:

$("#testcheck").on('click', function() {
    if (jQuery("#checkbox").is(":checked")) {
        alert("first button checked");
    }
    else {
        alert("none checked");
    }
});

フィドル: http://jsfiddle.net/matthewbj/hU4UY/

于 2012-11-05T20:44:35.773 に答える
2

おい、jQueryを使用して3つの方法ができます。

.prop()、.is()、.attr() です。

例として、これらのコードを示します。

function testcheck()
{
    if (jQuery("#checkbox").prop("checked")){
        alert("first button checked");
}
    else{
        alert("none checked");
}
}


function testcheck()
{
    if (jQuery("#checkbox").is(":checked")){
        alert("first button checked");}
    else{
        alert("none checked");
}


function testcheck()
    {
        if (jQuery("#checkbox").attr("checked")=="checked"){
            alert("first button checked");}
        else{
            alert("none checked");}
    }

http://api.jquery.com/prop/

さようなら、こんばんは

于 2012-11-05T20:57:19.500 に答える
0

これはうまくいくはずです:

function testcheck(e)
{
    if (jQuery("#checkbox").prop("checked")){
        alert("first button checked");
    }
    else{
        alert("none checked");
        e.preventDefault();
        return false;
    }
    return true;
}

jQuery("#submit").click(testcheck);

あなたが抱えていた問題は、とにかく提出が進んだことだったと思います。

于 2012-11-05T20:46:24.413 に答える