首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript函数禁用整个JS代码

JavaScript函数禁用整个JS代码
EN

Stack Overflow用户
提问于 2013-12-21 01:34:25
回答 2查看 62关注 0票数 1

我在头文件中放置了一个没有任何脚本标记的标记,代码如下:

代码语言:javascript
复制
<script type="text/javaScript">
            alert("asd");

            function displayPic(str){
                if(str=""){
                    document.getElementById("slider").innerHTML="<img src="" class='slider'/>";
                }

                if(window.XMLHttpRequest){
                    xmlhttp=new XMLHttpRequest();
                }

                xmlhttp.onreadystatechange=function(){
                    if(xmlhttp.readyState==4){
                        document.getElementById("slider").innerHTML = xmlhttp.responseText;
                    }
                }
                xmlhttp.open("GET", "gallery.php?q="+str, true);
                xmlhttp.send();
            }
        </script>

顶部警报的目的是测试脚本是否正在执行。就目前而言,事实并非如此。没有弹出提示"asd",就好像根本没有JS代码一样,但是当我删除整个函数displayPic并留下警告(“asd”)时,它工作得很好。我在这段简单的代码中找不到任何错误,我花了整整30分钟试图找出可能导致这种情况的原因,但我的解决问题的能力没有结果。

这是一个PHP页面,btw,使用WAMP在本地主机上运行它。

EN

回答 2

Stack Overflow用户

发布于 2013-12-21 01:43:06

我刚刚发现了一个有趣的在线资源:http://www.javascriptlint.com/online_lint.php

粘贴你的代码,它发现了三个可能的问题:

  1. quotes issue (它会自动“假定”你想转义引号)
  2. the "assignment
  3. A possible missing ;

代码语言:javascript
复制
 1  <script type="text/javaScript">
 2              alert("asd");
 3  
 4              function displayPic(str){
 5                  if(str=""){
    =========================^
    warning: test for equality (==) mistyped as assignment (=)?
 6                      document.getElementById("slider").innerHTML="<img src=\"\" class='slider'/>";
 7                  }
 8  
 9                  if(window.XMLHttpRequest){
10                      xmlhttp=new XMLHttpRequest();
11                  }
12  
13                  xmlhttp.onreadystatechange=function(){
14                      if(xmlhttp.readyState==4){
15                          document.getElementById("slider").innerHTML = xmlhttp.responseText;
16                      }
17                  }
18                  xmlhttp.open("GET", "gallery.php?q="+str, true);
    ================^
    lint warning: missing semicolon
19                  xmlhttp.send();
20              }
21          </script>

也许还有更好的资源,但这显然是你将来在请求社区帮助你的javascript之前可能想要做的事情。

票数 0
EN

Stack Overflow用户

发布于 2013-12-21 01:43:49

  1. 命令行:

document.getElementById("slider").innerHTML="";

在JS双引号(" ")中有HTML双引号(" ")。这会导致语法错误,解释为什么您的代码都无法运行。尝试:

document.getElementById("slider").innerHTML="";

  • This不会导致错误,但您可能也指的是带有双等号的if (str == "")。否则,您将把""赋值给str,覆盖您的字符串,并确保永远不会输入if。

JSFiddle的工作示例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20709027

复制
相关文章

相似问题

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