首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SyntaxError:缺失;语句\ ReferenceError:[function]未定义

SyntaxError:缺失;语句\ ReferenceError:[function]未定义
EN

Stack Overflow用户
提问于 2016-06-12 04:08:22
回答 2查看 236关注 0票数 1

我得到了一个错误的代码,以前的工作良好。我不确定我是否对它做了任何修改。

错误:

SyntaxError:缺少;在语句之前

代码片段:

代码语言:javascript
运行
复制
function ChangeOptions() {
var x = document.getElementById("Select1").value;
var y = document.getElementById("Select2");
var z = document.getElementById("Select3");

 if(x == "Sch"){y.innerHTML = "<option value="Sch1">Sch1</option><option  value="Sch1">Sch2</option>"; 
                z.innerHTML = "<option value="1">1</option><option value="1" value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>";}
if(x == "COMM"){y.innerHTML = "<option value="COMM1">COMM1</option><option value="COMM2">COMM2</option>"; 
                z.innerHTML = "<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>";}
if(x == "Inst"){y.innerHTML = "<option value="Inst1">Inst1</option><option value="Inst2">Inst2</option>"; 
                z.innerHTML = "<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>";} 
}

当我最初加载我的站点时,我会在控制台中得到这个错误。如果我单击html中调用onchange事件函数的select按钮,则会得到一个错误。

ReferenceError:未定义ChangeOptions

但是,当我删除条件运算符(Ifs)时,没有定义ReferenceError: ChangeOptions

有人能指点我一下吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-12 04:18:31

你的弦被内部双引号撕裂了。在外部使用单引号或使用反斜杠转义内部引号。

例如"This is a \"valid\" string"'This is a "valid" string'也是。

用三重等号来表示完全相等。除非你知道使用双等于相等匹配的确切原因,否则不要。这是我的2分钱。

代码语言:javascript
运行
复制
function ChangeOptions() {
  var x = document.getElementById("Select1").value;
  var y = document.getElementById("Select2");
  var z = document.getElementById("Select3");

  if (x === "Sch") {
    y.innerHTML = '<option value="Sch1">Sch1</option><option  value="Sch1">Sch2</option>';
    z.innerHTML = '<option value="1">1</option><option value="1" value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>';
  }
  if (x === "COMM") {
    y.innerHTML = '<option value="COMM1">COMM1</option><option value="COMM2">COMM2</option>';
    z.innerHTML = '<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>';
  }
  if (x === "Inst") {
    y.innerHTML = '<option value="Inst1">Inst1</option><option value="Inst2">Inst2</option>';
    z.innerHTML = '<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>';
  }
}
票数 0
EN

Stack Overflow用户

发布于 2016-06-12 04:14:37

我在这里看到了几个问题。您将需要转义内部双引号,或者更好地将单引号用于外部字符串。

代码语言:javascript
运行
复制
    function ChangeOptions() {
      var x = document.getElementById("Select1").value;
      var y = document.getElementById("Select2");
      var z = document.getElementById("Select3");

      if(x == "Sch"){
        y.innerHTML = '<option value="Sch1">Sch1</option><option  value="Sch1">Sch2</option>';
        z.innerHTML = '<option value="1">1</option><option value="1" value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>';
      }      
     if(x == "COMM") {
       y.innerHTML = '<option value="COMM1">COMM1</option><option value="COMM2">COMM2</option>';
       z.innerHTML = '<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>';
     }
     if(x == "Inst") {
       y.innerHTML = '<option value="Inst1">Inst1</option><option value="Inst2">Inst2</option>';
       z.innerHTML = '<option value="1-4">1-4</option><option value="5-7">5-7</option><option value="8-10">8-10</option>';
     }
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37770649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档