Я пытаюсь зафиксировать значение текстового поля в HTML-форме, используя document.getElementById (my_field) .value, где переменная my_field передается моей функции динамически, но ударяет по стене.
Как вы используете переменную в этом контексте?
Кажется, что функция просто не анализирует содержимое переменной my_field, вместо этого рассматривая ее как строку независимо от того, использую ли я кавычки, квадратные скобки или фигурныефигурные скобки.
function myFunction() {
var my_field = arguments[0];
var current_value = document.getElementById(my_field).value;
alert ("Current Value: " + current_value);
}
Я делаю это так, потому что у меня есть несколько записей в форме, и у каждой строки есть свой уникальный идентификатор для обязательного поля.
Выполнение вышеупомянутого просто делаетничего такого.Предупреждение никогда не появляется, что, как я полагаю, происходит из-за того, что значение current_value никогда не устанавливается.
Чтобы добавить дополнительные подробности, я попытался упростить все для целей этого вопроса, поскольку существует множество других ненужных сложностей, которые только отвлекают от основного.проблема - в моей HTML-форме есть текстовое поле, которое вызывает мою функцию в onChange
onchange="enforce_multiples('quantity[<?php echo $line_id; ?>]',<?php echo $product['minimum'];?>)"
Я проверил, что аргументы [0] и [1] правильно фиксируются путем вывода их значений в предупреждение.Все работает до тех пор, пока я не попытаюсь установить значение amount_entered.
<script>
function enforce_multiples() {
var line_id = arguments[0];
var quantity_increments = arguments[1];
var quantity_entered = document.getElementById([line_id]).value;
alert("QE" + quantity_entered);
//var quantity_mod = quantity_entered % quantity_increments;
//var revised_quantity = quantity_entered - quantity_mod;
//alert("RQ: " + revised_quantity);
//document.getElementById([line_id]).value = revised_quantity;
}
</script>
Проверил консоль, и я получаю сообщение об ошибке: Uncaught TypeError: Невозможно прочитать свойство 'value' null в строке geElementById