2017-08-07 50 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" /> 
相關問題