【发布时间】:2017-08-07 06:41:03
【问题描述】:
我在使用 JavaScript 函数将文本框设为空时遇到了问题。
如果未选中复选框,则 asp:Textbox 应禁用并为空。 它发生了,但在代码后面的所有时间都是可见的先前在该文本框中输入的值。
<asp:RadioButton ID="radio_fx_no" runat="server" Text="NO" GroupName="optradio1" onclick="CheckBoxChangedDisableFx(this);" />
<asp:RadioButton ID="radio_fx" runat="server" Text="YES" GroupName="optradio1" onclick="CheckBoxChangedAbleFx(this);" />
<asp:TextBox ID="txt_fx" ClientIDMode="Static" runat="server" Enabled="false" />
<script>
function CheckBoxChangedAbleFx(checkbox) {
if (checkbox.checked == true) {
document.getElementById('<%= txt_fx.ClientID %>').disabled = false;
}
}
function CheckBoxChangedDisableFx(checkbox) {
if (checkbox.checked == true) {
document.getElementById('<%= txt_fx.ClientID %>').value = "";
document.getElementById('<%= txt_fx.ClientID %>').disabled = true;
}
}
</script>
你知道我的代码有什么问题吗?
【问题讨论】:
-
onclick处理服务器端事件,需要定义OnClientClick -
OnClientClick="CheckBoxChangedAbleFx(this);"怎么样?你的意图是客户端的空文本框,对吧? -
当我想保存所有更改时的客户端和服务器端。但我不想在每次更改复选框后重新加载页面。我在客户端收到空文本框,但在服务器上没有。
-
我假设您在客户端上下文中已经有空文本框,现在是时候显示您必须通过 AJAX 或回发使文本框值为空的服务器端代码了。
标签: javascript c# asp.net