未捕获的SyntaxError:代码中的无效或意外的令牌

时间:2017-02-28 14:43:19

标签: javascript jquery

我有这个代码。 Chrome中的错误是“未捕获的SyntaxError:无效或意外的令牌”。

我正在尝试从表单中获取数据并将其显示在同一页面上的div中。

<script type="text/javascript">
function getfromForm()
{
    var name = document.getElementById('name_txtbox').val();
    var number = document.getElementById('phone_txtbox').val();
    var email = document.getElementById('email_txtbox').val();
    var message = document.getElementById('message_txtbox').val();
    console.log(name);
    console.log(number);
    console.log(email);
    console.log(message);
    document.getElementById('name1').html(name);
    document.getElementById('phone1').html(number);
    document.getElementById('email1').html(email);
    document.getElementById('msg1').html(message);
};
​</script>

http://i.imgur.com/Us7RlOv.jpg

1 个答案:

答案 0 :(得分:2)

无效/意外的令牌

问题中的代码 没有无效/意外的令牌。 (编辑:是的,我只是没有复制足够的。) 我可以想到你可能会遇到这个错误的两个原因:

  1. 如果你在.js文件中确切地知道了问题(带有脚本标签),你就像这样加载:

    <script src="filename.js"></script>
    

    ...那就是问题所在:你没有将script标签放在JavaScript文件中。从.js文件中删除它们。 (编辑:但是你已经说错误指向函数末尾的};,所以不是它。)

  2. 代码中有一个不可见的字符。具体来说,就在浏览器抱怨行之后行上的</script>之前,U+200B个字符zero-width space;这些似乎显示出来一点点;例如,JSBin用于将它们插入奇数位置。删除整行,然后重新键入</script>

  3. 其他问题

    除了无效/意外令牌外,代码还有几个问题:

    • 它会尝试将undefined作为一个函数调用(因为在他/她的评论的第二部分中提到了大写问题urbz):它应该是getElementById,而不是getElementByid
    • 如果您解决了这个问题,它会尝试在DOM元素上使用jQuery函数,但jQuery函数仅适用于jQuery对象,而不是DOM元素。
    • 如果您解决了这个问题,稍后会尝试在DOM元素上使用另一个jQuery函数(html)。
    • 在函数声明之后它有一个不必要的(但无害的);

    使用jQuery,该代码如下所示:

    function getfromForm()
    {
        var name = $('#name_txtbox').val()
        var number = $('#phone_txtbox').val();
        var email = $('#email_txtbox').val();
        var message = $('#message_txtbox').val();
        console.log(name);
        console.log(number);
        console.log(email);
        console.log(message);
        $('#name1').html(name);
        $('#phone1').html(number);
        $('#email1').html(email);
        $('#msg1').html(message);
    }
    

    使用jQuery,只是直接使用DOM API,它将是:

    function getfromForm()
    {
        var name = document.getElementById('#name_txtbox').value
        var number = document.getElementById('phone_txtbox').value;
        var email = document.getElementById('email_txtbox').value;
        var message = document.getElementById('message_txtbox').value;
        console.log(name);
        console.log(number);
        console.log(email);
        console.log(message);
        document.getElementById('name1').innerHTML = name;
        document.getElementById('phone1').innerHTML = number;
        document.getElementById('email1').innerHTML = email;
        document.getElementById('msg1').innerHTML = message;
    }
    

    更多探索: