2014-01-24 3 views
1

Я работаю в Asp.net c#. У меня есть задача удалить несколько textbox на button click, но теперь согласно требованию я должен использовать JAVASCRIPT. Поэтому я не могу сделать это с кодом C#. Теперь я использую следующее:Очистить несколько текстовых полей с помощью JavaScript при нажатии кнопки

JAVASCRIPT Функция :

function clrCtrl() { 
    document.getElementById('TextBox1').value = ""; 

} 

этим методом линии больше. Теперь, когда у меня есть 20 30 текстовых полей, этот код неэффективен, поэтому plz дает мне какое-либо предложение.

+0

В текстовом поле вы ссылаетесь на текстовую область или ввод текста типа? – Anonymous

+0

это текстовое поле asp.net –

ответ

2

дать текстовое поле, к которому вы хотите, чтобы очистить затем попытаться использовать

document.getElementsByClassName("MyTestClass"), чтобы получить элементы и использовать свою логику, чтобы делать все, что вы хотите.

например: -

function clrCtrl() { 

    var elements = [] ; 
    elements = document.getElementsByClassName("MyTestClass"); 

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

} 

Надеется, что это помогает.

С уважением.

2

Считаете ли вы использование JQUERY? Селекторы JQuery имеют разные комбинации, которые могут помочь вам более легко сбрасывать элементы управления на основе классов CSS, управлять типами, используя «любит».

http://api.jquery.com/button-selector/

Вот пример из JQuery страницы:

<input class="myClass" name="man-news"> 
<input name="milkman"> 
<input name="letterman2"> 
<input name="newmilk"> 

<script> 
    $("input[name*='man']").val("has man in it!"); 
    $(".myClass").val("setting value based on class") 
</script> 
+1

В качестве альтернативы вы можете использовать «фиктивные» имена классов CSS для них и пустить их таким образом ... а не «обфускать» идентификаторы управления –

0

если вы используете JQuery вы можете добавить класс стиль как текстовое поле для каждого из ваших текстовых полей, а затем сделать $('.textbox').val(''); вы бы HTML посмотрите что-то вроде <asp:TextBox runat="server" ID="TextBox" CssClass="textbox" /> для каждого из текстовых полей обязательно включите CssClass="textbox"

0

Вы должны собрать i Nput элементы, которые вы хотите удалить, а затем просто петля на них, чтобы удалить их содержание:

function clrCtrl() { 

    var elems = [] ; 
    elems = elems.concat(document.getElementsByTagName("input")); 
    elems = elems.concat(document.getElementsByTagName("textarea")); 
    //and so on 

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

} 

Я хотел бы также совет, чтобы дать общую Classname к тем элементам, если вы хотите, чтобы сгруппировать их:

function clrCtrl(groupName) { 

    var elems = [] ; 
    elems = elems.concat(document.getElementsByTagName("input")); 
    elems = elems.concat(document.getElementsByTagName("textarea")); 

    for(var i=0,c=elems.length ; i<c ; i++){ 
     if(elems[i].className==groupName){elems[i].value = "" ;} 
    } 

} 

Или, если вы ориентируетесь только современные браузеры, вы можете использовать метод «getElementsByClassName»: имя класса

function clrCtrl(groupName) { 

    var elems = document.getElementsByClassName(groupName) ; 

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

} 
0
<html> 
<head> 

<script> 
function funClear() { 

    document.getElementById("form1").reset(); 

} 

</script> 
</head> 

<body> 
<form id="form1"> 
Name:<input type="text" id="txt"><br><br> 
Email:<input type="text" id="txt"><br><br> 
Phone:<input type="text" id="txt"><br><br> 
Message:<input type="textarea" height="50" width="70" id="txt"><br><br> 

<input type="button" name="clear"value="clear" onclick="funClear()"> 

</form> 
</body> 
</html> 
Смежные вопросы