0

我有一个小的 java 脚本,它基本上可以提取用户输入表单的任何内容,并将其作为 JSON 发送到执行某些操作的 servlet。在他们提交表单本身之前,这是一种“预览”功能。该脚本在 Chrome 中运行,但是 Firefox 无法正确解析我在页面中的隐藏 div,该页面告诉 JS 表单有多少字段。

JS

function send_formdata() {
    var numGenes = parseInt(document.getElementById("numGenes").textContent);
    alert(numGenes);
    var jsonObj = [];
    for (var i = 0; i <numGenes; i++) {
        if (document.getElementById("c"+i).value == "") {
            alert("Please fill out all fields before checking tax model.");
            return;
        }
    jsonObj.push({"value" : document.getElementById("c"+i).value})
    }

……

我添加了 alert() 作为调试。在 chrome 中,警报显示为“25”,在 Firefox 中显示为“NaN”。

被拾取的页面部分:

<div id="numGenes" style="display: none">25</div>

关于为什么 Firefox 在这里不起作用的任何想法?它没有出错,脚本最终只是将一个空数组发送到服务器。

4

2 回答 2

1

您必须radix作为第二个参数传递。单击此处查看文档。

你应该像这样使用它:

var numGenes = parseInt(document.getElementById("numGenes").textContent, 10);

于 2013-09-13T09:14:56.180 回答
0

如上所示的代码在末尾缺少一个“}”以正确关闭该功能。否则,它可以在 Firefox 中使用 - 在 . 随后的 document.getElementId() 失败,但我假设您的 DOM 元素具有 id 的 c0、c1 等。

于 2013-08-23T01:14:01.357 回答