Jeśli masz odniesienie do dowolnego pola formularza lub zdarzenia, nie musisz wyraźnie wyszukiwać formularza, ponieważ każde pole formularza ma atrybut form
, który wskazuje na jego formularz nadrzędny.
Jeśli masz zdarzenie, będzie ono zawierało atrybut target
, który wskaże pole formularza, które go wywołało, co oznacza, że możesz uzyskać dostęp do formularza przez myEvent.target.form
.
Oto przykład bez kodu wyszukiwania formularza.
<html>
<body>
<form name="frm">
<input type="text" name="login"><br/>
<input type="password" name="password"><br/>
<button type="submit" onclick="doLogin()">Login</button>
</form>
<script>
function doLogin(e) {
e = e || window.event;
e.preventDefault();
var form = e.target.form;
alert("user:" + form.login.value + " password:" + form.password.value);
}
</script>
</body>
</html>
Jeśli masz wiele formularzy na stronie nadal nie trzeba opisać je według nazwy lub identyfikatora, ponieważ zawsze otrzymasz właściwą instancję formularz poprzez imprezy lub poprzez odniesienie do pole.
tak długo, jak nie ma zaznaczeń ani tekstów ;-) – Gurnard
Czy możesz pokazać to w przypadku użycia aplikacji z kilkoma wejściami z wartościami, które przechwytuje? –
Wolę 'document.forms [" nazwa_formularza "]. GetElementByClassName (" myClass ")' –