Jeff Thies wrote:
Sometimes I may have one form nested inside the other (this is an editable
page).
<form name="form1">
<form name="form2">
</form>
<input type="text" name="form_element_for_form1">
</form>
What I'd like to do is read: form_element_for_form1, but the closing tag for
form2 kills form1.
How do I remove form2? It seems to be resistant!
Look into the Mozilla DOM inspector on how that HTML is parsed, there
will be only one <form> element in the DOM tree which has no element
children and the <input> element doesn't have a form container:
<html>
<head>
<title>nested forms?</title>
<script type="text/javascript">
function inspectForms () {
var text = '';
for (var i = 0; i < document.forms.length; i++) {
var form = document.forms[i];
text += 'form with index ' + i + ' has name ' + form.name +
' and parentNode ' + form.parentNode + ' with tagName ' +
form.parentNode.tagName + '\n';
}
if (document.getElementsByName) {
var input = document.getElementsByName('form_element_for_form1 ')[0];
if (input) {
text += 'input.form is ' + input.form + '\n';
}
}
alert(text);
}
window.onload = function (evt) {
inspectForms();
};
</script>
</head>
<body>
<form name="form1">
<form name="form2">
</form>
<input type="text" name="form_element_for_form1">
</form>
</body>
</html>
--
Martin Honnen
http://JavaScript.FAQTs.com/