|
Очистить value поля input type=text
Мне нужно очистить value в поле input type="text". Я сделал так, не знаю правильно?;) (код ниже).
<!DOCTYPE HTML>
<html>
<head><meta charset="utf-8"></head>
<body>
<div id="text" >
<input type="text" value="2" maxlength="150" size="70" name="alias">
</div>
<br/>
<div id="text2" >
<div>
<input type="text" value="222" maxlength="150" size="70" name="alias">
</div>
<div>
<input type="text" value="333" maxlength="150" size="70" name="alias2">
</div>
</div>
<script>
var childNodes = document.getElementById("text2").childNodes;
for (var i=0; i<childNodes.length; i++) {
if (childNodes[i].type == 'text') {
childNodes[i].value = '';
//alert(childNodes[i].type);
}
}
</script>
</body>
</html>
Фишка в том, там где div id="text" value очищается. Там где div id="text2" уже нет. Подскажите пожалуйста, как можно в id="text2" так же очищать value? |
Цитата:
var childNodes = document.getElementById("text2").getElementsByTagName('input');// или так
var childNodes = document.querySelectorAll('#text2 input');//или так
|
Упс, даже не ожидал, кажется нашел решение, вроде работает...Прошу гуру js взглянуть на мое творчество:blink: , если не сложно может какие есть замечания?
if (childNodes[i].type == 'text') {
childNodes[i].value = '';
} else if (childNodes[i].tagName == 'DIV') {
var new_childNodes = childNodes[i].childNodes;
for(var b=0; b<new_childNodes.length; b++) {
if (new_childNodes[b].type) {
if (new_childNodes[b].type == 'text') {
if (new_childNodes[b].value != '')
new_childNodes[b].value = '';
}
}
}
}
|
Если поля изначально пустые, далее заполняются юзером и нужно их очистить, то все проще:
<form id="form">
<input type="text" name="alias" />
<input type="text" name="alias2" />
<button type="button" onclick="form.reset()">Очистить</button>
</form>
<script>
form.alias.value = form.alias2.value = 'abc';
</script>
|
Цитата:
|
izcian, дапофиг. Ты не доволен querySelectorAll ? Почему?
А есть еще form.elements - коллекция всех контролов (правда там и кнопки тоже) - тоже удобно. Правда вроде не кроссбраузерно... |
Цитата:
|
Цитата:
Не совсем по теме, подскажите пожалуйста а как очистить textarea, а то че-то ничего не нашел в инете? |
Цитата:
Цитата:
|
Цитата:
id.value = ""; |
| Часовой пояс GMT +3, время: 00:53. |
|