2013-11-21 122 views
0

我一直在面对一个JS问题到JS页面,因为我是一个新手,我不明白为什么这个代码在Firefox上,但不是在谷歌浏览器。 如果有人能帮助我解决这个问题,我会非常感激。为什么JavaScript不适用于Google Chrome?

<script type="text/javascript"> 

function showFC(form) { 

    var selElem = document.getElementById(form); 
    var selIndex = selElem.selectedIndex; 

    document.form1.S4.options[0] = new Option("C=1",1); 
    if(selIndex==0) { 
     for(var i=0;i<10;i++) { 
      var val = (i+1)+0.5; 
      document.form1.S4.options[i+1] = new Option(val,val); 
     } 
    } 
} 
</script> 

它不会在按钮点击时动态创建元素。

这里我的html代码:

<form name="form1" method="post" action="ComputeResult"> 
    ... other things 
    .... 
    .... 
    <select name="S4" id="S4" onclick="showFC('S4')"> 
     <option value="1">FC</option> 
     <option value=""></option> 
    </select> 
</form> 
+0

任何错误控制台?核实。 –

+0

控制台中的任何错误? – Jite

+0

你确定[JavaScript没有在Chrome中禁用](http://stackoverflow.com/questions/13405383/how-to-disable-javascript-in-chrome-developer-tools)? – SajjadHashmi

回答

0

在JavaScript中,你必须声明一个函数的两种方法。要么你声明它是这样的:

function f() {} 

var f = function(){} 

两者的区别在于,第一种是在运行时定义,在分析时,第二个(这里更多的细节:var functionName = function() {} vs function functionName() {} )。

很可能是你的情况发生了什么,是你的函数是在HTML读取后声明的,所以函数不存在。所以:

window.showFC = function(){} 
showFC = function(){} 

都应该工作。

+0

我的Javascript代码介于HTML的 showFC()之间时,才会有效。 –

0

代替onclick,使用onchange它会工作

<select name="S4" id="S4" onchange="showFC('S4')"> 
+0

它的作品,但我需要onclick事件:)谢谢你相同 –

相关问题