24

フォームが完全に入力されているかどうかに応じて、フォーム送信ボタンを無効/有効にします。

入力が入力されると、無効なボタンが有効に変わります。それはうまくいきます。ただし、入力が空になったときにボタンを無効にしたいと思います。

これは私のスクリプトです:

<script type="text/javascript" language="javascript">
    function checkform()
    {
        var f = document.forms["theform"].elements;
        var cansubmit = true;

        for (var i = 0; i < f.length; i++) {
            if (f[i].value.length == 0) cansubmit = false;
        }

        if (cansubmit) {
            document.getElementById('submitbutton').disabled = false;
        }
    }
</script> 
<form name="theform">
<input type="text" onKeyup="checkform()" />
<input type="text" onKeyup="checkform()" />
<input id="submitbutton" type="submit" disabled="disabled" value="Submit" />
</form>
4

9 に答える 9

26

使うだけ

document.getElementById('submitbutton').disabled = !cansubmit;

一方向にしか機能しない if 節の代わりに。

また、JS を無効にしているユーザーには、disabledJS のみでイニシャルを設定することをお勧めします。そのためには、スクリプトを の後ろに移動して、1 回<form>呼び出すだけです。checkform();

于 2012-12-21T13:48:23.633 に答える
2

次に追加するだけelseです:

function checkform()
{
    var f = document.forms["theform"].elements;
    var cansubmit = true;

    for (var i = 0; i < f.length; i++) {
        if (f[i].value.length == 0) cansubmit = false;
    }

    if (cansubmit) {
        document.getElementById('submitbutton').disabled = false;
    }
    else {
        document.getElementById('submitbutton').disabled = 'disabled';
    }
}
于 2012-12-21T13:48:30.400 に答える
2

それをテーブルの中に置いて、彼女にします:

var tabPom = document.getElementById("tabPomId");
$(tabPom ).prop('disabled', true/false);
于 2013-11-04T12:49:08.913 に答える