【问题标题】:Uncaught Syntax Exception: Unexpected end of input @ Line 1?未捕获的语法异常:第 1 行输入意外结束?
【发布时间】:2013-11-20 21:06:11
【问题描述】:

完整代码:http://pastebin.com/qQpsTjsR

我一直在尝试提交表单以发送电子邮件;我已经获得了将某些内容保存到浏览器本地存储的表单。但是现在我不得不在javascript中更改操作来模拟提交;即使在第 1 行没有 javascript,在第 1 行调用它似乎很简单给我语法异常?我检查了检查菜单,括号似乎没问题。我也通过 JSLint 运行过它,因此到处都是“使用严格”语句。

我似乎无法确定问题所在;这让我很困扰......第二双眼睛会很好地找到问题;或者也许这是我以前不知道的? (在调试方面对 Javascript 来说相当陌生..)

这是嵌入的 Javascript,但在文件顶部您会找到完整文件:

function showForms() {
    'use strict';
    $('.primaryForm').fadeIn(700);
}
function submitForm() {
    'use strict';
     SetItem('username', $('#username').val());
     $('.primaryForm').action = "download.php";
     $('.primaryForm').submit();
}
function intro2TypeWrite() {
     'use strict';
     $('.intro2').typewrite().delay(8750).fadeOut(700);
     setTimeout(showForms, 9450);
}
function intro2Show() {
    'use strict';
     $('.intro').delay(5000).fadeOut(700);
     setTimeout(intro2TypeWrite, 5700);
}
$(document).ready(function () {
     'use strict';
     $('.intro').typewrite({
         'callback': intro2Show()
     });
});

【问题讨论】:

标签: javascript exception syntax uncaught-exception


【解决方案1】:

我不知道是哪一个;但最后,在对表单的提交过程进行了一些研究后,我发现了一个更好的解决方案,发现不是使用提交输入的点击事件;我可以在表单上使用 on submit 事件。

我的发现表明,在想要转发包含的帖子数据的情况下,提交将在页面重定向到操作页面之前在 onsubmit 事件中运行 javascript。

所以变化是:

function submitForm() {
    'use strict';
     SetItem('username', $('#username').val());
     $('.primaryForm').action = "download.php";
     $('.primaryForm').submit();
}

到...

function submitForm() {
     SetItem('username', $('#username').val());
}

我还从我的所有函数中删除了“使用严格”语句;在阅读了 gregjer 发布的文章后,似乎它会导致错误以停止糟糕的编码(不幸的是,我很可能是此类问题的候选人。)

最后,一个简单的交换到 onsubmit,或者删除 use strict 解决了这个问题!

在大学再次收到这些错误后,即使进行了上述更改;我发现 javascript:void 导致输入意外结束,将操作更改为另一个文件,例如...download.php/html 修复了它,因为它结束了看起来的脚本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    相关资源
    最近更新 更多