Javascript DOM只通过其名称访问表单元素

时间:2016-12-07 08:01:48

标签: javascript html dom

我真的好奇在下面的代码中,为什么我只需输入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>

0 个答案:

没有答案