禁用按钮Javascript和C#

时间:2013-06-20 16:58:27

标签: c# javascript asp.net

我的代码隐藏中有一个看起来像这样的电话:

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,但它不会改变按钮的禁用状态。

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

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:1)

我发现的第一件事是你传递一个布尔字符串

尝试替换

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

通过

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