萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> js函數名與form表單元素同名沖突的問題

js函數名與form表單元素同名沖突的問題

 本篇文章主要是對js函數名與form表單元素同名沖突的問題進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助

今天在導出Excel的時候用了Form 表單的input hidden 來區分導出和搜索。開始的時候js中的onClick事件的函數名 和 hidden 中的 id 命名一樣。結果導致報錯:調用函數的那一行對象不支持此屬性。   找了很長時間都找不出原因,開始的時候一直以為是寫錯了某個字母,才發現js函數根本沒有執行。後來沒有辦法直接調用了別的函數,發現就有用了,認為是函數名的原因,改了函數名才有用了。然後再將input中的id改成很函數名一樣,又出現報錯了。在沒有下例驗證之前,還一直以為是ThinkPHP模板解析的bug。因為有了如下示例,所以證實是js中的函數名不可以和元素中的id相同。   如下例:    代碼如下: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>ceshi</title> <script> function a() {  document.getElementById('a').value="test";  alert(document.getElementById('a').value);  return false; } </script> </head> <body> <form> <input type="hidden" id="a" name="a" value="" /> <input type="button" value="excel" onClick="javascript:a();"/> </form> </body> </html>   網頁錯誤詳細信息   用戶代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727) 時間戳: Thu, 27 Jan 2011 13:30:09 UTC   消息: 對象不支持此屬性或方法 行: 17 字符: 1 代碼: 0 URI: file:///C:/Documents%20and%20Settings/Administrator/桌面/test.html  
copyright © 萬盛學電腦網 all rights reserved