javascript - 在 onsubmit 调用的函数中使用 window.location 时出现问题

标签 javascript html

我目前正在使用 HTML 和 JavaScript 在主页上创建一个非常小的表单。我遇到了一个问题,我很确定我可以以某种方式规避(尽管可能以一种非常丑陋的方式),但我对为什么会出现此错误感兴趣。

我的页面上有一个表单,我通过以下方式指定:

<FORM name="form1" onsubmit="submitTheScript()">

函数“submitTheScript()”被放置在标题中并读取:

setCookie("F_GivenSum", GivenSum);
window.location="LastScreen.html";

“setCookie()”是一个基本上只是创建 cookie 的函数:)。

现在,问题出现在最后一行代码上。在设置 cookie 后,我试图将用户发送到另一个页面(我正在执行一些控制以确保输入值正常,但我在这里跳过了该部分),但 FireFox 给了我以下错误:

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 命令中调用这个函数,但是,我不明白为什么。

最佳答案

好吧,我做了一个快速测试,发现您需要通过 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 中没有给出任何错误。

关于javascript - 在 onsubmit 调用的函数中使用 window.location 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3509521/

相关文章:

html - 文本输入和按钮对齐

html - CSS 按钮 : forcing them to size themselves automatically

javascript - 与express js一起使用的synchronize.js

javascript - jquery中不同位置的相同变量的不同值

javascript - Cordova console.log 不工作

javascript - angularJS - 无法将 API Json 响应数据加载到我的 HTML 文件中

php - 在 PHP/MYSQL 中的 XML WebService 中传递参数

javascript - react : how to load and render external html file?

javascript - 在 javascript 中将对象 (json) .json 保存在文件中

javascript - 根据表单信息向谷歌地图添加标记