2013-08-23 4 views
0

У меня есть небольшой скрипт java, который в основном подбирает все, что пользователь ввел в форму, и отправляет его как JSON на сервлет, который делает некоторые вещи. Это своего рода функция «предварительного просмотра», прежде чем отправить форму. Скрипт работает в 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}) 
    } 

....

Я добавил предупреждение() как отлаживать. В хроме, предупреждение читает «25» в Firefox, он читает «NaN».

Часть страницы подхватили:

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

Любые идеи о том, почему Firefox не работает здесь? Это не ошибка, сценарий просто заканчивает отправку пустого массива на сервер.

+0

Что 'document.getElementById ("numGenes") textContent' получить Вас в Firefox? –

+0

Когда я пробую ваш код, он отлично работает. ParseInt отображает 25 в FireFox. – dcaswell

ответ

0

Код, показанный выше, не содержит ни одного "}" в конце, чтобы правильно закрыть функцию. В противном случае он работает в Firefox - отображает значение в. Последующий document.getElementId() терпит неудачу, но я предполагаю, что у вас есть элементы DOM с идентификаторами c0, c1 и т. Д.

+0

Я укоротил функцию преждевременно, после этого есть несколько бит, которые отправляют объект JSON в сервлет. Интересно, что он работает на вас. Интересно, может возникнуть проблема с поиском в контексте всей страницы? – agilesynapse

1

Вы должны пройти radix в качестве второго параметра. Click here, чтобы просмотреть документацию.

Вы должны использовать его как это:.

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

Смежные вопросы