<form id="form1" action="index.html" method="get">
<div>
<input type="text" name="text2" id="r4_1" value="" /><br/>
<input type="submit" />
</div>
</form>
Как найти submit в форме
Как найти submit в форме если известен только name элементов этой формы?
Нудно на кнопку повесить событие динамически.
Заранее благодарен.
Не известен — form.getElementsByTagName("input"), дальше поиск в полученной коллекции элемента с type="submit".
И в большинстве случаев для подобных вещей подходит onsubmit на форму.
и скажите, почему в большинстве обращений используют какие-то длинные конструкции...
Если я хочу задать полю в соседнем фрейме я пишу просто parent.mywindow.myform.mytextline.value="";
А то я видел длиннючие конструкции сложные... Неужели моё обращение не будет работать в некоторых браузерах?.
А form.name не то что можно, но и нужно использовать в таких случаях. Сам не понимаю, зачем все советуют искать в документе GetElementById(), но никогда не обратятся к уже найденному по имени?
HTML
Код:
JS
Код:
function myAlert(elem_num){
alert('hello world');
}
function getElem(elem_id){
var form = document.getElementById(elem_id);
var input = form.getElementsByTagName('input');
for(var i = 0; i < input.length; i++){
if(input.type == 'submit'){
input.onclick = myAlert(i);
}
}
}
getElem('form1');
alert('hello world');
}
function getElem(elem_id){
var form = document.getElementById(elem_id);
var input = form.getElementsByTagName('input');
for(var i = 0; i < input.length; i++){
if(input.type == 'submit'){
input.onclick = myAlert(i);
}
}
}
getElem('form1');
работоспособность не проверял, но идея думаю ясна
Цитата: Kesano
почему нельзя использовать form.name для поиска???
Цитата: mfender
А form.name не то что можно, но и нужно использовать в таких случаях. Сам не понимаю, зачем все советуют искать в документе GetElementById(), но никогда не обратятся к уже найденному по имени?
НЕ НУЖНО. Точнее можно использовать, но я бы не рекомендовал.
Потому что данная консрукция относиться к DOM Level0. Им на смену давно уже пришли более высокие уровни построения DOM модели с соответсвующим API, кстати замечу стандартизированным. К примеру DOM API есть и в JavaScript, и в PHP (с 5ой версии) один и тот же (от W3C). Т.е. достаточно просто знать DOM API спецификацию и все. В языках которые её поддерживают она будет работать одинаково. Унификация.
А DOM Level0 это уже прошлый век и поддерживается браузерами только для обратной совместимости. Когда нибуть она может быть просто убрана полностью как атавизм.