我目前正在使用HTML和JavaScript在我的主页上创建一个非常小的表单。我遇到了一个问题,我很确定我可以以某种方式避开(虽然可能以一种非常丑陋的方式),但我对这个错误出现的原因感兴趣。
我的页面上有一个表单,我用以下方式指定:
<FORM name="form1" onsubmit="submitTheScript()">
函数“submitTheScript()”放在标题中并显示:
setCookie("F_GivenSum", GivenSum);
window.location="LastScreen.html";
“setCookie()”是一个基本上只是创建一个cookie的函数:)。
现在,问题出现在最后一行代码中。在设置cookie之后,我正在尝试将用户发送到另一个页面(我正在做一些控件,输入值没问题,但我在这里跳过了那部分)但是FireFox给了我以下错误:< / p>
uncaught exception: [Exception... "Cannot modify properties of a WrappedNative" nsresult: "0x80570034 (NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN)" location: "JS frame :: chrome://global/content/bindings/autocomplete.xml :: onxblpopuphiding :: line 827" data: no]
我想我不能像在onsubmit命令中那样调用这个函数,但是,我不明白为什么。
答案 0 :(得分:1)
好的,我做了一个快速测试,发现你需要通过javascript分配onsubmit事件处理程序,如下所示:
document.getElementById("myform").onsubmit = doSubmit;
function doSubmit() {
document.cookie = "F_GivenSum=200";
window.setTimeout(function() {
window.location = ('test2.html');
}, 20);
return false;
}
这没有给FF带来任何错误。