2014-10-30 3 views
0

Я хочу очистить текстовое поле asp при нажатии кнопки (html).javascript clear asp textbox on html button click

поэтому в основном функция JS является:

<script type="text/javascript"> 
    function clearTextBox() { 
     document.getElementByID('<%=txtFName.ClientID%>').value = ""; 
    } 
</script> 

И asp.net TextBox

<asp:TextBox ID="txtFName" runat="server" class="form-control" placeholder="First name" AutoCompleteType="Disabled" MaxLength="30" /> 

И кнопка HTML

Все кнопки и другие элементы управления находятся в панель обновления asp (не знаю, если она отличается)

Ничего не случилось, когда я нажал на HTML clearButton, ошибка на веб-консоли:

Uncaught TypeError: undefined is not a function 
clearTextBox 
onclick 

ответ

0

Изменение

document.getElementByID 

к

document.getElementById 

и он сработал. Кредит до Mudassar

Спасибо всем!

1

Я предлагаю добавить JS в Head part of page., то он не будет создавать Uncaught ReferenceError: clearTextBox is not defined

+0

Я положил его на '', но все та же проблема, на самом деле, если я поместил другие JS и JQuery в голову, это вызовет массу проблем, если я не переместил их под тегом body –

+0

Вы можете просмотреть код на странице – Amit

+0

Что вы подразумеваете под «view code into page» –

1

пытаются передать идентификатор текстового поля, в вашем случае это должно быть:

document.getElementByID('txtFName').value = ""; 

, а затем назначить метод для вас вход что-то вроде этого

asp:textbox ..... onClick="yourMethodName" 
+0

попробовал 'document.getElementByID ('txtFName'). Value =" ";' но такая же ошибка –

+0

У меня есть еще одна идея. Попробуйте изменить метод внутри вас textbox OnClick to OnClientClick = («YourJavaScriptMethodName») –

+0

, но я хочу его на кнопку html ... –

0

Вам нужно добавить

ClientIDMode="Static" 

Таким образом, вы текстовое поле будет выглядеть следующим образом

<asp:TextBox CliendIDMode="Static" ID="txtFName" runat="server" class="form-control" placeholder="First name" AutoCompleteType="Disabled" MaxLength="30" /> 

в ASP.Net, когда страница отображается идентификатор управления изменяет

Я предлагаю вам должен использовать jquery.

$("#txtFName").val(""); 

также возвращает ложь в вашем яваскрипте функции

Также попробуйте в одном блоке вашего JS

+0

Пробовал и получил такую ​​же ошибку! –

+0

@RonaldinhoState Я обновил свой ответ – fc123

+0

вы можете разместить полную функцию jquery и как вызвать ее на элементе управления, мои JS и JQuery слабые –

1

Перемещайте следующий JS код страницы заголовка или в другом месте, прямо сейчас он не может найти вашу js. Это должно быть нарушение из-за некоторой ошибки или перерыва. Или попробуйте установить js alert/debugger в функцию js, чтобы убедиться, что вы даже можете найти эту функцию. Очистка текстового поля - это следующий шаг.

<script type="text/javascript"> 
function clearTextBox() { 
    alert('Hello World'); 
}</script> 

Теперь, если вы в состоянии видеть свое предупреждение, тогда ваш код может найти вашу функцию.Затем измените текстовое поле тега вроде:

<asp:TextBox CliendIDMode="Static" ID="txtFName" runat="server" class="form-control" placeholder="First name" AutoCompleteType="Disabled" MaxLength="30" /> 

Теперь измените функцию clearTextBox как:

<script type="text/javascript"> 
function clearTextBox() { 
    document.getElementById('txtFName').value = ''; 
}</script> 
+0

предупреждение сработало, но при изменении на 'document.getElementById ('txtFName'). Value = '';' он показал ту же ошибку –

+0

, пожалуйста, вставьте точную ошибку –

+0

откройте консоль браузера и введите $ ('input '), теперь проверьте, можете ли вы увидеть текстовое поле «txtFName» в этом списке, попытайтесь найти его точный идентификатор на стороне клиента –

0
function clearTextBox() { 
    var elements = [] ; 
    elements = document.getElementsByClassName("form-control"); // your class name 

    for(var i=0; i<elements.length ; i++){ 
     elements[i].value = "" ; 
    } 
} 
+0

У меня есть более одного элемента управления usi ng 'form-control' CSS class, как мне это сделать? –