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;
    }
}

出于某种原因,这只会以一种方式起作用。如果它被设置为 disabled = true,它不会回到启用状态,如果它被设置为 disabled = false,它不会回到被禁用状态。我查看了变量以查看它是否设置正确,并且它确实从 true 更改为 false 并在应该的时候从 false 更改为 true,但它不会更改按钮的禁用状态。

我错过了你能看到的任何小东西吗?

谢谢你能给我的任何帮助。

4

1 回答 1

1

我检测到的第一件事是您将布尔值作为字符串传递

尝试更换

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

经过

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