为什么这个javascript代码在Internet Explorer中不起作用?

时间:2013-09-10 07:22:59

标签: javascript internet-explorer cross-browser internet-explorer-9

有人可以检查为什么我的javascript代码在Internet Explorer 9中不起作用,但在Firefox中正常工作???此外,代码在Google Chrome中无效。

<html>
<head>
   <title>test</title>
   <script type="text/javascript">
      function showF4(){
      document.getElementById('showF4').style.display = "block";
   }
   </script>
</head>
<body>
   <form method="post" action="" enctype="multipart/form-data" method="post">
      <p><select class="selField" id="list_sel" name="list_type" >
         <option id="F4DOL" onmouseover="showForm7()" onmouseout="hideForm7()"            onclick="showF4()"  value="F4 Document List"> F4 Document List </option>

      </select></p>
   </form>

   <div id="showF4" style="display: none">
      <p><font color="red">*</font>Feature:
      <input   id="f4_input"  name="f4_input" type="text" value="" /> </p>
   </div>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

<option id="F4DOL" onmouseover="showForm7()" onmouseout="hideForm7()" onclick="showF4()"  value="F4 Document List"> F4 Document List </option>

option没有像onClick那样的事件,它的选择框就是option。将这些内容从select移至onChange,然后更改为{{1}}等适当的方法。

答案 1 :(得分:0)

所以我找到了以下内容:

http://www.webmasterworld.com/forum91/4959.htm

其中一个人给出了这个答案

hi, 
your method of setting the style of elements: 

element.style.property="something";

will not work in ie. How to set styles with javascript depends not only on the browser, but in some cases also on other conditions, as if the style is inline or comes from css and on other things (for this see eg. quirksmode.org).
Therefore you might prefer to add styles for a specific class in your stylesheet, let's say 

.noshow {visibility: hidden;}

and then use js to switch between visible and not by saying 

element.className="noshow";

and 

element.className="";

Hope this helps. 

看看,它可能会解决您的问题