0

いくつかのチェックボックスに関数を割り当てようとしていますが、条件(この場合はフォームのステップ番号)に基づいて追加するだけです。これは、チェックボックスが選択された後(または選択されなかった後)にチェックボックスを読み取り専用にするための迂回方法です。したがって、ステップ1ではユーザーにcb1またはcb2を選択してもらいたいのですが、ステップ2ではチェックボックスの値を変更させない関数を割り当てたいと思います。

私は何が間違っているのですか?

function functionOne() {
    this.checked = !this.checked
};
if (document.getElementById("stepNumber").value == 2) {
    document.getElementById("cb1").setAttribute("onkeydown", "functionOne(this)");
    document.getElementById("cb2").setAttribute("onkeydown", "functionOne(this)");
}
4

3 に答える 3

0

これはjqueryを必要とするソリューションですが、チェックボックスがクリックされると、.click関数を使用してチェックボックスを無効にすることができます。

実例は次のとおりです。

http://jsfiddle.net/uPsm7/

于 2012-07-19T20:10:31.917 に答える
0

引数で要素を渡しているので、次のように使用します。

function functionOne(elem) {
    elem.checked = !elem.checked
};

プロパティを使用することもできます。

document.getElementById("cb1").onkeydown = functionOne;
document.getElementById("cb2").onkeydown = functionOne;

function functionOne() {
    this.checked = !this.checked
};
于 2012-07-19T19:33:58.040 に答える
0

選択時にチェックボックスを無効にしないのはなぜですか?

Function onCheck(elm)
{
    document.getElementById("cbValue").value = elm.value;
    elm.disabled = true;
}


<input id="cbValue" type="hidden" />

非表示の入力フィールドを使用して、フォームがデータをサーバーに送り返すことができるようにします。

于 2012-07-19T20:07:42.667 に答える