2017-08-07 72 views
0

我有一个使用JavaScript函数使文本框为空的问题。如何使asp文本框为空由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> 

任何想法我的代码有什么问题?

+0

'onclick'处理服务器端事件,你需要定义'OnClientClick' –

+0

'OnClientClick =“CheckBoxChangedAbleFx(this);”'?你的意图是在客户端的空文本框,对吗? –

+0

客户端和服务器端当我想保存所有的更改。但我不想在每次更改复选框后重新加载页面。我在客户端接收空文本框,但不在服务器上。 – Adriano

回答

1

此问题被称为缓存浏览器数据。在每一个回传 在页面加载事件textbox 1)明确的价值:

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

,并在你的ASPX代码使文本= “”:您可以尝试三件事情在这种情况下

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

2)的textboxAutoComplete属性设置为关闭HTML输入

或禁用ASP文本框的autocompletetype财产

<asp:TextBox ID="txt_fx" autocompletetype="disabled".../> 

3)或网页的表单标签的设置自动完成。如果要清除在服务器端文本框的实际值,而不回发到“关”

,那么你需要使用AJAX。

希望它能帮助你.. !!

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" /> 
相关问题