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>
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>
機能しない理由:関数に何も渡していない。実際には、関数名で括弧を使用していないため、関数はまったく呼び出されていません。 this
HTMLイベント属性のコンテキストでonclick
を渡すと、要素のDOMオブジェクトへの参照を渡し、checked
プロパティにアクセスできるようになります。
パラメータを含める必要があります:onClick="EnableSubmit()"
<input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit()"> I agree to Terms of Service agreement.
まず、条件がトグルが目的の側に切り替えられているかどうかをチェックします。必要に応じて条件を変更できます。最後のjqueryは、トグルボタンを灰色にすることです。
if(!$('#togglehk').is(":checked"))
{
$('#togglehk').click();
}
jQuery('#togglehk').attr("disabled", true);
jQuery('#togglehk').prop("disabled",true);
jQuery('#togglehk').next(".slider").css("backgroundcolor","#B3B3B3");