完整代码:http://pastebin.com/qQpsTjsR
我一直在尝试提交发布表单以发送电子邮件;我已经将表单保存到浏览器的localstorage中。但是现在我必须在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()
});
});
答案 0 :(得分:0)
我不清楚哪一个;但是在对表单的提交过程进行一些研究之后,我发现了一个更好的解决方案来解决我的整个问题,而不是使用提交输入的on click事件;我可以在表单上使用on submit事件。
我的调查结果显示,在想要转发所包含的帖子数据的情况下,提交会在页面被重定向到操作页面之前在onsubmit事件中运行javascript。
所以改变是:
function submitForm() {
'use strict';
SetItem('username', $('#username').val());
$('.primaryForm').action = "download.php";
$('.primaryForm').submit();
}
要...
function submitForm() {
SetItem('username', $('#username').val());
}
我还删除了所有函数中的'use strict'stataments;在阅读了gregjer发布的文章后,看起来因为它导致了错误以阻止不良编码(我不幸的是这可能成为这类问题的候选人。)
最后,简单的交换到onsubmit,或者删除使用严格修复了这个问题!
在大学再次收到这些错误后,即使有上述变化;我发现javascript:void导致输入的意外结束,将操作更改为另一个文件,例如... download.php / html修复它,因为它结束了脚本似乎。