文本框没有在Firefox中清除

时间:2014-01-06 10:54:10

标签: c# asp.net

txtName是页面中的第一个控件。页面最初加载时,它是空的。如果文本框中有文本并且用户单击“刷新”,则表示不会清除文本。 在调试时,我可以看到文本框被清除,但在页面上它不是!!!! 这种情况发生在Firefox中。在IE中正常工作。

我试过,将文本框保留在updatepanel之外,仅为此文本框包含另一个更新面板,启用视图状态,同时删除clientidmode属性。

ASPX:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
 <Triggers>
  <asp:AsyncPostBack ControlID="txtName" EventName="TextChanged"/>
 </Triggers>
 <ContentTemplate>

   <asp:TextBox ID="txtName" runat="server" OnTextChanged="txtName_TextChanged"
   EnableviewState="false" ClientIDMode="Static">
   </asp:TextBox>

   //Some other controls

 </ContentTemplate>
</asp:UpdatePanel>

C#:

protected void page_load()
{
  if(!IsPostBack)
   {
     txtName.Text="";
     UpdatePanel1.Update();
   }
}

3 个答案:

答案 0 :(得分:0)

protected void page_load()
{
  if(!IsPostBack)
   {

     UpdatePanel1.Update();
   }
txtName.Text="";
}

试试这种方式

答案 1 :(得分:0)

如果有条件,请在外面添加txtName.Text="";。试试这样。

protected void page_load()
{
  txtName.Text="";
  if(!IsPostBack)
  {
    UpdatePanel1.Update();
  }    
}

答案 2 :(得分:0)

另一种解决方案是在文本框中设置autocomplete=off,这将适用于FF。

如果确实需要自动完成功能,可以将代码打包成表单。并在onLoad事件中重置它

<form id="autoclearform">
  //your textboxes
</form>

现在可以将onload="autoclearForm.reset();"添加到您的身体或通过javascript进行。

$(document).ready(function() {
    autoclearForm.reset();
});