Javascript ParseInt()无法在Firefox中运行

时间:2013-08-23 00:59:32

标签: javascript ajax firefox parseint

我有一个小的java脚本,它基本上可以获取用户输入表单的任何内容,并将其作为JSON发送给执行某些操作的servlet。它在提交表单之前就是一种“预览”功能。该脚本适用于Chrome,但Firefox无法正确解析我在页面中隐藏的div,该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中,警报在Firefox中显示“25”,显示为“NaN”。

正在挑选的页面部分:

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

关于为什么Firefox无法在这里工作的任何想法?这不是错误的,脚本只是最终向服务器发送一个空数组。

2 个答案:

答案 0 :(得分:1)

您必须将radix作为第二个参数传递。 Click here查看文档。

您应该像这样使用它:

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

答案 1 :(得分:0)

如上所示的代码在末尾缺少单个“}”以正确关闭该功能。否则,它适用于Firefox - 显示值中的值。后续的document.getElementId()失败了,但我假设你有DOM元素,其id为c0,c1等。