第一次打开时如何清除文本框

how to clear text box when first opened

我有一个顶部有文本框的搜索功能列表。用户可以在文本框中输入字母,列表将在输入每个字母后更新。

例如用户输入"A",则列表将只显示包含"A"的预告片。

我遇到的问题是当用户关闭搜索时文本框没有清除。当我再次打开搜索时,我输入的内容仍然存在。我不知道它是如何记住我输入的内容,但如何在每次打开搜索时清除文本框?

<tr>
    <td class="Header">
        Trailer Type
        <a style="float:right;width:16px;height:16px;margin-right:0px;" title="Pick from list..." class="iconSearch" id="btnShowType"></a>                                            
    </td>
    <td></td>
    <td>
        <asp:HiddenField ID="hfTrailerTypeID" Value="0" runat="server" />
        <asp:TextBox runat="server" ID="txtTrailerType"></asp:TextBox>
    </td>
</tr>

这是一个文本框,当您隐藏它时,它不会清除其中键入的内容。如果您只是隐藏它,重新显示它会包含您之前输入的内容。您需要具有一些功能来在关闭文本时清除文本。很难建议如何处理有限的问题。

建议方案一:

在提供商门户中,需要为所有 text boxes 用户输入敏感信息的地方设置 AutoCompleteType=Disabled 属性

缺点:此解决方案可能不适用于 FireFox。需要在FireFox中测试确认。

方案二:

此解决方案适用于所有浏览器。

<asp:TextBox ID="TextBox3" runat="server" autocomplete="off"></asp:TextBox>

Textbox1.Attributes.Add("autocomplete", "off");

这是.Net的一个特性。如果你有一个纯粹的html它会达到你想要的

<input type="text" id="txtTrailerType" />

否则只需在往返过程中清除它,例如在 Page_Load

txtTrailerType.Text = "";

正在关闭搜索,您好像隐藏了搜索面板(可以是 'div')。那绝对不会清除字段。为此,您需要在用户单击关闭按钮时手动清除它,或者如果您正在刷新页面,则在页面加载时清除它。

以下是 jQuery 清除它的解决方案。

  1. 一个简单的解决方案是:

    $( "form" )[ 0 ].reset();

  2. 但是如果你想清除元素中的输入字段,你可以这样做:

    $.fn.cleanUpControls = 函数() { return this.each(函数() { 变量类型 = this.type, 标签 = this.tagName.toLowerCase(); 如果(标签 == 'form') return $(':input',this).clearForm(); 如果(类型 == 'text' || 类型 == 'password' || 标签 == 'textarea') this.value = ''; }); };

    $('div.searchPanel').cleanUpControls();
    

protected void Page_Load(object sender, EventArgs e){ 如果(!IsPostBack) { txtTrailerType.Text=""; } }

可能有帮助..

protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack)
        {
           txtTrailerType.Text="";
        }
}