我正在开发My First ASP.NET Application。我创建了一些文本框和按钮,并在文本框中添加了客户端验证。我现在希望根据文本框的内容和有效性设置和清除按钮的启用属性。
我已经研究了问题和答案here,here,here和here,我能够管理的最好的就是这个...
<script language="javascript" type="text/javascript">
function SetButtonSensitivity()
{
var label = document.getElementById("<%= lblResult3.ClientID %>");
var button = document.getElementById("<%= btnDone.ClientID %>");
if (Page_ClientValidate())
{
label.Text = "valid";
button.disabled = false;
}
else
{
label.Text = "not valid";
button.disabled = true;
}
}
</script>
我可以告诉我在远离文本框字段时调用此脚本,因为客户端验证会发出错误消息,但脚本对按钮或标签没有影响。
任何人都可以看到我忽略了什么吗?
答案 0 :(得分:3)
您无法从javascript访问标签的Text属性。 标签呈现为。您应该尝试设置innerHTML属性:
label.innerHTML = "not valid";
还可以使用javascript控制台查看js代码中的错误。 (在Firefox中按Ctrl + Shift + J)
答案 1 :(得分:0)
尝试value
属性而不是Text
label.value = "valid";
button.disabled = false;
答案 2 :(得分:0)
好吧,因为您的Label
实际上是<span>
呈现的
label.innerText = "valid"
答案 3 :(得分:0)
您可以使用
label.innerHTML,label.innerText或label.value来获取或设置标签的文本。
“button.disabled = false / true”应该有效。