我真的好奇在下面的代码中,为什么我只需输入document.myform就可以从DOM访问元素,(它也可以在控制台中运行),这只有在名称属性位于表单标记中时才会发生。
我假设正常使用DOM来获取元素是使用getElementById或getElementsByTagName,或者在访问表单时我们可以使用document.forms(或者querySelector感谢@MindRoller进行提醒)。但是如何解释上面的用法。它是否由任何文件解释?
html代码如下。
<HTML><HEAD>
<TITLE>Set Cookies</TITLE>
<SCRIPT language=JavaScript>
function saveCookies()
{
// Remove any previous cookies
//To delete a cookie, just set the expires parameter to a passed date:
document.cookie = "personColor=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
document.cookie = "personName=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
var hisName = document.myform.yourname.value;
var hisColor;
if (document.myform.backg[0].checked)
{
hisColor=document.myform.backg[0].value;
}
else if (document.myform.backg[1].checked)
{
hisColor=document.myform.backg[1].value;
}
setCookie('personName', hisName, 30);
setCookie('personColor', hisColor, 30);
alert("personName =" + hisName + "\npersonColor = " + hisColor);
window.location="js_21_5.html";
}
</SCRIPT>
</HEAD>
<BODY>
<h2>Full Cookie Example</h2>
<FORM method="GET" name="myform">
What is your name: <input name="yourname" type="text" /><BR>
Choose your background:<br>
<input type=radio name="backg" value="green">green<br>
<input type=radio name="backg" value="red">red<br>
<input type="button" value="submit" onclick="saveCookies()">
</FORM>
<a href="http://cs-server.usc.edu:45678/examples.html#cookies">
Return to main page</a>
<noscript></BODY>
</HTML>