如何通过javascript使asp文本框为空

时间:2017-08-07 06:41:03

标签: javascript c# asp.net

我在使用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>

我的代码中有什么问题?

2 个答案:

答案 0 :(得分:1)

此问题称为缓存浏览器数据。在这种情况下,您可以尝试三件事: 1)每次回发时页面加载事件中textbox的清除值:

if (IsPostBack)
    {
        txt_fx.text = "";
    }

并在您的aspx代码中生成text =&#34;&#34;:

<asp:TextBox ID="txt_fx" Text="".../>

2)将AutoComplete的{​​{1}}属性设置为关闭以进行html输入

或禁用asp textbox的textbox属性

autocompletetype

3)或将页面的FORM标签的自动完成设置为&#34;关闭&#34;

如果要在没有回发的情况下清除服务器端文本框的实际值,则需要使用AJAX。

希望它会帮助你...... !!

答案 1 :(得分:0)

<。>在.cs文件中,Page_Load方法,加上这样的代码:

if(!Page.IsPostBack)
{
    radio_fx.Attributes.Add("onClick", "return CheckBoxChangedState(this,false);");
    radio_fx_no.Attributes.Add("onClick", "return CheckBoxChangedState(this,true);");
}

并在.aspx文件中,更改如下:

<script type="text/javascript">

    function CheckBoxChangedState(checkbox, state) {
        if (checkbox.checked == true) {
            document.getElementById('<%= txt_fx.ClientID %>').value = "";
                document.getElementById('<%= txt_fx.ClientID %>').disabled = state;
            }
        }

<asp:RadioButton ID="radio_fx_no" runat="server" AutoPostBack="false"  Text="NO" GroupName="optradio1" />
<asp:RadioButton ID="radio_fx" runat="server" AutoPostBack="false"  Text="YES" GroupName="optradio1"  />