基本的に、ユーザーがフォームに入力したものをすべて取得し、それを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 が機能しない理由について何か考えはありますか? エラーではなく、スクリプトは空の配列をサーバーに送信するだけです。