Javascript ParseInt()在Firefox中不起作用

Javascript ParseInt() not working in Firefox

本文关键字:Firefox 不起作用 ParseInt Javascript      更新时间:2023-09-26

我有一个小的java脚本,它基本上会拾取用户在表单中输入的任何内容,并将其作为JSON发送到一个servlet,该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中,警报显示为"25",在Firefox中显示为"NaN"。

正在拾取的页面部分:

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

有什么关于Firefox为什么不能在这里工作的想法吗?它没有出错,脚本只是向服务器发送了一个空数组。

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

你应该这样使用它:

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

上面显示的代码在末尾缺少一个"}"来正确关闭函数。否则,它在Firefox中工作-在中显示值。后续文档.getElementId()失败,但我假设您有id为c0、c1等的DOM元素。