14

HTMLフォームで送信ボタンを有効にし、チェックボックスがオフの場合は無効にする方法は?

このコードの何が問題になっていますか?

EnableSubmit = function(val)
{
    var sbmt = document.getElementById("Accept");

    if (val.checked == true)
    {
        sbmt.disabled = false;
    }
    else
    {
        sbmt.disabled = true;
    }
}                       

チェックボックス

<td width="30%">Do you accept Terms of Service agreement?</td>
<td width="10px" style="min-width: 10px"></td>
<td width="70%">
    <input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit"> I agree to Terms of Service agreement.
</td>
4

3 に答える 3

15

HTML を次のように変更します。

<td width="30%">Do you accept Terms of Service agreement?</td>
<td width="10px" style="min-width: 10px"></td>
<td width="70%">
    <input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit(this)"> I agree to Terms of Service agreement.
</td>

機能しない理由: 関数に何も渡していません。実際には、関数名に括弧を使用していないため、関数をまったく呼び出していません。thisHTML イベント属性のコンテキストで渡すということは、要素の DOM オブジェクトへの参照を渡し、そのプロパティonclickにアクセスできるようにすることを意味します。checked

于 2012-04-05T02:32:31.543 に答える
3

パラメータを含める必要があります。onClick="EnableSubmit()"

 <input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit()"> I agree to Terms of Service agreement.
于 2012-04-05T02:33:11.747 に答える