0

コードビハインドに次のような呼び出しがあります。

bool isQtyValid = true;
bool disabled = false;
foreach(parameters)
{
    //setting isQtyValid
    if (!isQtyValid)
        disabled = true;
    Page.ClientScript.RegisterStartupScript(this.GetType(), "function", string.Format("SetButtonStatus('{0}')", disabled.ToString().ToLower()), true);
}

次に、私のJavaScriptは次のようになります。

function SetButtonStatus(disabled) {
    var bb = document.getElementsByClassName('ButtonSubmit');
    for (var i = 0; i < bb.length; i++) {
            bb[i].disabled = disabled;
    }
}

何らかの理由で、これは一方向にしか機能しません。無効 = true に設定すると有効に戻りません。また、無効 = false に設定すると無効に戻りません。変数が正しく設定されているかどうかを確認したところ、必要に応じて true から false に、false から true に変更されますが、ボタンの無効状態は変更されません。

あなたが見ることができる小さなものを見逃していますか?

あなたが私に与えることができるどんな助けにも感謝します.

4

1 に答える 1

1

最初に検出したのは、ブール値を文字列として渡していることです

交換してみる

"SetButtonStatus('{0}')" // <-- SetButtonStatus('true')

"SetButtonStatus({0})" // <-- SetButtonStatus(true)
于 2013-06-20T17:09:51.593 に答える