2015-08-17 3 views
0

У меня есть список функций поиска с текстовым полем сверху. Пользователь может вводить буквы в текстовое поле, и список будет обновляться после каждой буквы.как очистить текстовое поле при первом открытии

Например, пользователь вводит «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> 
+0

Вы говорите, что текстовое поле имеет значение после отправки формы? Вы отправляете форму с помощью javascript? –

+0

@ pwee167 нет Я не представляю форму. Я просто вводя значения в текстовое поле, я закрываю поиск и открываю его снова, а текстовое поле все еще имеет значения в нем. – user123456789

+0

Как вы «закрываете»? Это модальное или поп-окно? –

ответ

0

Закрытие поиска, кажется, что вы скрываете панель поиска (может быть «DIV»). Это определенно не очистило бы поля. Для этого вам нужно либо очистить его вручную, когда пользователь нажимает кнопку закрытия, либо обновляется страница, а затем на загрузку страницы.

Вот решения, чтобы очистить его от jQuery.

  1. Одним из легкого раствора:

    $ ("форма") [0] .RESET();

  2. Но если вы хотите, чтобы очистить входы полей внутри элемента, вы можете сделать это:

    $ .fn.cleanUpControls = функция() { возвращение this.each (функция() { вар type = this.type, tag = this.tagName.toLowerCase(); if (tag == 'form') return $ (': input', this) .clearForm(); if (type == 'text' || type == 'password' || tag == 'textarea') this.value = ''; }); }; (! IsPostBack)

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

Это текстовое поле, которое не будет удалять то, что набирается внутри него, когда вы его скрываете. Если вы только скрываете это, повторное показ будет иметь то, что вы написали в нем раньше. Вам нужно иметь некоторые функции для очистки текста при его закрытии. Трудно предположить, что делать с ограниченным вопросом.

1

Предлагаемое решение 1:

На портале поставщика, необходимо установить AutoCompleteType=Disabled свойство для всех text boxes, где пользователь вводит секретную информацию

: невыгодное положение Это решение не может работать в FireFox. Необходимо протестировать в FireFox и подтвердить.

Решение 2:

Это решение работает во всех браузерах.

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

или

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

Нет, что не получилось. В текстовом поле все еще есть значения, когда я снова открываю поиск – user123456789

+1

@ user123456789 могут быть старыми значениями, очистить кэш и затем попробовать –

+0

Нет, текстовое поле все еще запоминает значения – user123456789

0

Это особенность .Net. Если вы имели чистый HTML было бы добиться того, что вы хотите

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

Else только ясно, что в редиректа, например на Page_Load

txtTrailerType.Text = ""; 
0

защищен недействительным Page_Load (объект отправителя, EventArgs е) { если { txtTrailerType.Text = ""; }}

Может быть, это помогает ..

0

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

Смежные вопросы