2013-08-23 74 views
0

我有一個小的Java腳本,基本上拿起用戶已經進入一個窗體,並將其作爲JSON發送到一個servlet,做一些東西。它們在提交表單本身之前就是一種「預覽」功能。該腳本在Chrome的工作,但是Firefox不正確地分析一個隱藏的div我有告訴表單的許多領域有怎樣都是JS的頁面。JavaScript的ParseInt()不工作在Firefox

的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}) 
    } 

....

我添加警報()作爲調試。在Chrome中,警報在Firefox中讀取「25」,它讀取「NaN」。

頁面的一部分被拾起:

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

爲什麼Firefox不會在這裏工作什麼想法嗎?它的示數不出來,劇本只是最終發送一個空數組服務器。

+0

這是什麼'的document.getElementById( 「numGenes」)textContent'讓你在Firefox? –

+0

當我嘗試你的代碼,它工作正常。 ParseInt在FireFox中顯示25。 – dcaswell

回答

0

如上所示的代碼中缺少一個單一的「}」末正確封閉功能。否則,它在Firefox中工作 - 顯示在Firefox中的值。隨後的document.getElementId()失敗,但我假設你有DOM元素的id爲c0,c1等。

+0

我過早地截斷的功能,也有一些後來的比特是發送JSON對象到一個servlet。有趣的是,它爲你工作。我不知道是否可能會遇到問題在整個頁面的上下文中找到它呢? – agilesynapse

1

你必須通過radix作爲第二個參數。 Click here查看文檔。

你應該使用這樣的:

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

相關問題