位置:海鸟网 > IT > JavaScript >

有name为action的表单元素时取form的属性action杯具了

 

如下
 
01 <!DOCTYPE html> 

02 <html> 

03   <head> 

04     <meta charset="utf-8"> 

05     <title>有name为action的表单元素时取form的属性action杯具了</title> 

06   </head>   

07   <body> 

08     <form name="mform" action=""> 

09         <input type="radio" name="action" value="1"/> 动作1 

10         <input type="radio" name="action" value="2"/> 动作2 

11         <input type="radio" name="action" value="3"/> 动作3 

12         <br/> 

13         <input type="submit" value="提交"/> 

14     </form> 

15     <script type="text/javascript">        

16         document.mform.onsubmit = function(){ 

17             alert(this.action); 

18             return false; 

19         } 

20     </script> 

21   </body> 

22 </html>

后台经常根据动作(action)来判断要调用的逻辑。这时form.action会优先取到表单元素而非form的属性action。所有浏览器中都一致。

这时获取form的属性使用this.getAttribute是安全的。