javascript - An input in a form named 'action' overrides the form's action property. Is this a bug? -
i have form marked
<form class="form1" method="post" action="form1.php" style="width:405px"> ordinarily, access action of form in javascript referring .action of form object, example
document.forms[0].action which return value
form1.php however, if have, component of form, item named "action", "action" becomes content of form's action. is, if form markup contains, example,
<input name="action" type="hidden" value="check" /> then
document.forms[0].action returns value
<input name="action" type="hidden" value="check" /> now, did work out how around this: using
document.forms[0].getattribute("action") however, it's nasty gotcha confused me long. bug? known gotcha of dom management? or should habit of using .getattribute()?
i not call bug. effect occurs, because attributes can read using element.attributename , named inputs inside form can accessed in same way, formelement.inputname. if there attribute , input same name, there no guarantee 1 used. behaves differently in different browsers.
i use getattribute if reading known attribute included in markup or added using setattribute in javascript. dynamic values like, example, checked attribute of checkbox, don't use getattribute. more question of personal preference, guess.
Comments
Post a Comment