0

基本的に、ユーザーがフォームに入力したものをすべて取得し、それをJSONとして何らかの処理を行うサーブレットに送信する小さなJavaスクリプトがあります。これは、フォーム自体を送信する前の一種の「プレビュー」機能です。スクリプトは Chrome で動作しますが、Firefox は、フォームのフィールド数を JS に伝えるページにある非表示の div を正しく解析しません。

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 が機能しない理由について何か考えはありますか? エラーではなく、スクリプトは空の配列をサーバーに送信するだけです。

4

2 に答える 2

1

radix2 番目のパラメーターとして渡す必要があります。ここをクリックしてドキュメントを参照してください。

次のように使用する必要があります。

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

于 2013-09-13T09:14:56.180 に答える