Null innerHTML, предоставленный с переменной php, не работает только в Firefox

0

У меня две формы на моей странице (min & max), которые должны содержать минимальное и максимальное текстовые поля, которые пользователь может добавить. Так что это часть моего кода с этой проблемой.

ПРОБЛЕМА: он отлично работает в Chrome/IExplorer, но в Firefox он не может работать. Проблема в том, что он сообщает об ошибке

ТипError: document.getElementById(...) - null

Ошибка также существует в Chrome, но код работает. Итак, я обнаружил, что это проблема с внутренним html div с идентификаторами K1, H1, K2, H2... Он как-то пуст, независимо от того, что он печатает на странице.

$kx[$j] = $_POST['min'][$j];
$hx[$j] = ($_POST['max'][$j]);
$kxx .= '<div style="visibility:hidden;" id="K'.$j.'">'.$kx[$j].'</div>';
$hxx .= '<div style="visibility:hidden;" id="H'.$j.'">'.$hx[$j].'</div>';

<script type="text/javascript">
var counter = [];
var mxcounter = [];
for(var u=1; u<101; u++) {
    counter[u] = parseInt(document.getElementById("K"+u).innerHTML, 10);
    mxcounter[u] = parseInt(document.getElementById("H"+u).innerHTML, 10);
}
</script>

Что мне делать?

  • 0
    Можете ли вы предоставить больше кода. Или это та часть проблемы. Может, какой-то другой id (div) провоцирует это?
  • 0
    Этот div (s) - один проблемный, это точно.
Показать ещё 2 комментария
Теги:

2 ответа

1

Убедитесь, что блок сценария выполняется после создания HTML-кода. Выполните скрипт в onLoad.

Вы также можете проверить, что сгенерированные идентификаторы идут от 1 до 100, на всякий случай.

0

Это приведет к ошибке, если количество элементов div меньше, чем "101", используемых в цикле. Однако, если вы добавляете divs через javascript, вы можете иметь скрытый элемент в форме, чтобы сохранить максимальное количество и увеличить его для каждого нового div.

function add_div() {
    // your code to add div element
    var max = document.getElementById("maxcount").value;
    document.getElementById("maxcount").value = parseInt(max)+1;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню