<html>
<head>
<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["email"].value
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
  {
  alert("Not a valid e-mail address");
  return false;
  }
}
</script>
</head><body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="Submit">
</form>
</body></html>
上面代码中的 var x=document.forms["myForm"]["email"].value  看不懂,forms["myForm"]["email"]是什么意思??

解决方案 »

  1.   

    document.forms  - 所有form
    forms['myform'] - <form name="myForm">
    forms['myform']['email'] - <input name="email" />
    forms["myForm"]["email"].value - <input name="email" /> 的值
      

  2.   

    var x=document.forms["myForm"]["email"].value ;document.forms 获取当前页面所有的form 返回一个数组document.forms["myForm"] 拿到name为“myForm”的formdocument.forms["myForm"]["email"] 拿到form中name为email的元素document.forms["myForm"]["email"].value  拿到email元素的值
      

  3.   

    为什么document.forms["myForm"] 拿到name为“myForm”的form
    不能是拿到id为“myForm”的form吗?
      

  4.   

    记住就行了。根据id拿的话一般用document.getElementById()了。
      

  5.   

    为什么教程里没有提到forms[]的括号里可以填name?只有一个数字的例子forms[0]我通常对于突然而来的知识无法接受,各位是在哪里学的javascript?我总觉得现在这个教程不好
      

  6.   

    刚试了下。通过id也能拿到。你往你的表单里加个id="myForm"也是可以拿到的。其实教程都差不多。。关键你要多尝试。。不试永远不知道。
      

  7.   


    不是吧,我刚才试了下,用ID没用的,只能用name
    你试着把name换成id
      

  8.   

    js获取表单的方式大体上有三种 
    document.getElementById('form的id')document.getElementsByName('form的name')[0] document.forms["form的name"]document.forms[数字] //这个数字代表第几个表单 其顺序自上而下起 0 1 2 ... 其实书上基本上能讲差不多 有些东西是自己看到过 试过 然后点点积累起来的
      

  9.   

    谢谢,你这么一说明白多了,我还想问最后一个问题:
    “document.forms["myForm"]["email"] 拿到form中name为email的元素”
    最后一个["email"]不明白。
    首先“document.forms["myForm"]”获取的是一个form对象是吧?然后对象后面加个["abc"]就代表获得对象中的name为“abc"的对象吗?
      

  10.   

    document.forms["表单的name"]["表单中元素的name"].value
    获得某个表单(以name识别)中某个元素(以元素的name识别)的value值
      

  11.   


    我知道是这个意思
    如果是一个<p>标签,也能这样p[a]获取p中的a元素吗?
      

  12.   

    比如这样可以吗?
    <html>
    <body><a name="first">第一个<p name="aa">123</p>锚</a><br />
    <a name="second">第二个锚</a><br />
    <a name="third">第三个锚</a><br />
    <br />本文档中第一个锚的 InnerHTML 是:
    <script type="text/javascript">
    document.write(document.anchors[0]["aa"].innerHTML)
    </script></body>
    </html>