2013-11-21 3 views
0

У меня возникла проблема с javascript на JS-странице, и поскольку я новичок на этом, я не могу понять, почему этот код работает в Firefox, но не в Google Chrome. Я был бы очень благодарен, если кто-то может помочь мне с этой проблемой.Почему 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 не отключен в хроме] (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 находится между showFC() HTML. –

0

вместо onclick, используйте onchange он будет работать

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

это работает, но мне нужно onclick event :) спасибо вам же –

Смежные вопросы