关于Html form表单的提交,很容易。。。但如果不仔细还是能有很多错误。
提交的button name 属性为 submit form的submit方法失效 。代码如下
<html> <head></head> <script type="text/javascript"> function getData(){ document.forms[0].submit(); } </script> <body> <form id="form1" name="form1" method="get" action="http://xiayuanfeng.iteye.com"> <input type="button" name="submit" οnclick="getData();" value="提交"> </form> </body> </html>如果改为
<html> <head></head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> function getData(){ document.forms[0].submit(); } </script> <body> <form id="form1" name="form1" method="get" action="http://xiayuanfeng.iteye.com"> <input type="button" name="aa" οnclick="getData();" value="提交"> </form> </body> </html>成功提交。。
我们来看看原因
<html> <head></head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> function getData(){ var objform = document.forms[0] for(var i in objform){ if(i.indexOf("submit")!=-1){ alert(i+" ="+objform[i]); } } } </script> <body> <form id="form1" name="form1" method="get" action="http://xiayuanfeng.iteye.com"> <input type="text" name="aa"> <input type="button" name="submit" οnclick="getData();" value="提交"> </form> </body> </html>发现 submit已经变成 form 的一个属性了,并不是方法。这下明白了吧。把submit(也就是submit方法)覆盖了。所以要注意提交表单name的命名方式不要和form原有的方法,属性相同,这样会导致原来的form属性方法失效。
