【问题标题】:Why does javascript not work on Google Chrome?为什么 javascript 在 Google Chrome 上不起作用?
【发布时间】:2013-11-21 10:03:22
【问题描述】:

我一直面临将 javascript 插入 JS 页面的问题,由于我是新手,我无法弄清楚为什么这段代码适用于 Firefox,但不适用于 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>

【问题讨论】:

  • 控制台有错误吗?检查一下。
  • 控制台有错误吗?
  • 向您展示 html 或创建小提琴。 jsfiddle.net
  • 您传入form,然后使用document.form1。能否确认页面中存在&lt;form id="form1"&gt;&lt;select id="S4"&gt;

标签: javascript html google-chrome web-applications


【解决方案1】:

在 JavaScript 中,您有两种声明函数的方式。要么你像这样声明它:

function f() {}

var f = function(){}

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

您的情况最有可能发生的情况是,您的函数是在读取 HTML 之后声明的,因此该函数不存在。所以:

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

两者都应该工作。

【讨论】:

  • 我的 Javascript 代码在 HTML 的 showFC() 之间。
【解决方案2】:

代替onclick,使用onchange 就可以了

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 2020-11-27
    • 2011-10-22
    • 2011-03-15
    相关资源
    最近更新 更多