【问题标题】:Why am I getting an Unexpected TOKEN Illegal error in my jQuery script?为什么我的 jQuery 脚本中出现 Unexpected TOKEN Illegal 错误?
【发布时间】:2015-01-18 02:50:55
【问题描述】:

我在模板末尾添加了一个基本脚本,用于计算剩余字符并实时显示,如此处所示。 http://jsfiddle.net/r34gM/1/

它似乎没有工作,我没有看到任何更新,我得到了

Uncaught SyntaxError: Unexpected token ILLEGAL

这是模板。

<div class="background2div">
    <div class="backgroundiv">
    <div class="formdiv">
        <div class="selltitle">Sell Goodies</div>
        <form action="" enctype="multipart/form-data" method="post" data-parsley-validate> 
        {% csrf_token %}

        <div class="forminput">{{ form.body_text }}</div></div>
        <div class="suggest2">Describe in detail what makes this product worth buying.</div>
        <div class="suggest7">250 character limit</div>
        <div class="linecontainer"><div class="forminput"><input type="submit" value="Submit"></div></div>
        </form>
    </div>
    </div>
</div>

<script>
$('#id_body_text').keypress(function(){

    if(this.value.length > 160){
        return false;
    }
    $(".suggest7").html("Remaining characters : " +(160 - this.value.length));
});​
</script>

【问题讨论】:

  • 将代码(并且只有 JS 代码)放入浏览器 JS repl。然后简化,直到发现语法错误。
  • (提示:最后有一个无效字符,看不到。)
  • 我不知道该怎么做。
  • 按 F12 - 然后应该打开相应的开发人员工具。 REPL = "JavaScript 控制台"。

标签: jquery django


【解决方案1】:

您的源代码中有 Unicode 字符“零宽度空间”(U+200B)。

<script>
$('#id_body_text').keypress(function(){

    if(this.value.length > 160){
        return false;
    }
    $(".suggest7").html("Remaining characters : " +(160 - this.value.length));
}); // <--- HERE IS THE (U+200B) AFTER THE ';'!
</script>

删除这个字符,一切都会好起来的。

【讨论】:

  • 我不知道你是怎么找到的,或者如何删除它。我在脚本中看不到 //。如何删除?
  • // 是我的评论 :-) 删除整个 }); 行并再次输入。
  • 当我删除它时,Chrome 会给我 Uncaught SyntaxError: Unexpected end of input
  • 如我所说。删除整个行并再次重新输入。错误的符号就在; char 后面。
  • 好的,我删除并重新输入,现在可以使用了。我不明白为什么,我不知道为什么这会改变任何事情,但是谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-29
  • 2017-12-06
相关资源
最近更新 更多