码迷,mamicode.com
首页 > 其他好文 > 详细

document.forms[0].submit object is not a function

时间:2015-03-05 16:23:22      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

今天在做项目的时候发现了一个问题:document.forms[0].submit object is not a function。

这个问题是在用JavaScript 代码来提交一个表单时发生的。

<form action=".action" method="post">

  <input type="text" name="member.name"/>

  <input type="button" id="submit" value="提交" onclick="postInfo()"/>

</form>

<script type="text/javascript">

  function postInfo(){

   document.forms[0].submit();

  }

</script>

 

其实问题发生在红色的这两行上:

  在调用 document.forms[0].submit()时,一直到document.forms[0]结束程序都能正确运行。问题是这个submit()。

  因为在以上代码中。form中有一个id为“submit”的子元素(一个button类型的input元素)。

  所以在 执行document.forms[0].submit时。所得到的对象不是forms[0]的submit()函数,而是它的子元素--那个input元素。

  input元素是一个DOM节点对象,而不是一个函数。所以就产生了以上的错误(document.forms[0].submit object is not a function。)。

解决方法:

  解决方法其实很简单:为那个input元素的id属性赋上个别的值就可以了。

由此产生的注意事项:

  为元素赋属性值的时候,尤其是像 name, id,class 这种属性时。尽量使用自定义的有实际意义的字符串

 

document.forms[0].submit object is not a function

标签:

原文地址:http://www.cnblogs.com/qufanblog/p/4316001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!