如下 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="http://xxx"> 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是安全的。
|