Входное значение не отображается. Как это возможно?
Это должно быть что-то совершенно глупое, что я сделал или делаю, но у меня есть вход с атрибутом значения, который просто не отображается:
<div class="input text required">
<label for="Product0Make">Make</label>
<input name="data[Product][0][make]" type="text" maxlength="255" value="AC Make" id="Product0Make">
</div>
Кто-нибудь когда-нибудь видел это раньше? У меня есть какая-то опечатка, к которой я просто слеп? Для чего бы это ни стоило, вот код CakePHP, который генерирует эту строку:
<?php echo $this->Form->input( 'Product.' . $index . '.make', array( 'default' => $product['Product']['make'] ) ) ?>
У меня есть небольшая форма с несколькими текстовыми вводами, 1 текстовая область и 2 выбора. Ни одно из значений ввода текста не отображается, но все остальное в порядке.
Любые мысли будут оценены. Я даже не могу поверить, что мне нужно задать этот вопрос, но это как сумасшедший, что делает меня.
Ответы
Ответ 1
Argh. Я знал, что это будет нечто глупое. Был немного Javascript, который очищал данные. Очистка была полезна в других местах, но я не знал, что она выполнялась, поэтому было очень трудно выследить. Как только я предотвратил очистку в этом сценарии, мои ценности фактически появились. Поскольку я просматривал код в веб-инспекторе, я предполагал, что это будет "живое" представление, но, думаю, это не совсем так.
Спасибо за вашу помощь всем.
Ответ 2
Шахта была связана с AngularJS
Я пытался поставить оба значение HTML и ng-Model, считая, что ng-Model будет по умолчанию Value, потому что мне было слишком ленив, чтобы добавить модель в область $в контроллере...
Итак, ответ заключался в том, чтобы присвоить значение по умолчанию переменной $scope.variable в контроллере.
Ответ 3
Для меня это был браузер. Изменение строки URL или истории очистки может помочь.
Ответ 4
Вы вводите в заблуждение использование параметров "по умолчанию" и "значение" для $html- > input()?
Если вы используете данные 'default' => $product['Product']['make']
и $this- > , это поле не будет заполнено. Цель параметра "default" - отображать значение по умолчанию, если нет данных формы ($ this- > data).
Если вы хотите принудительно отобразить значение, вы должны использовать параметр "значение". 'value' => $product['Product']['make']
Ответ 5
С моей стороны, это была проблема только для Firefox.
Я решил, добавив атрибут autocomplete="off"
в поле ввода.
<input type="text" value="value must appear" autocomplete="off"/>
Ответ 6
У меня такая же проблема.
измените значение из JS, которое оно работает для меня
Я не знаю почему.
если кто-нибудь знает
то plz сообщите мне, почему
[email protected]
document.getElementById("collage").value="Collage";
<input type="text" id="collage" name="collage" class="form-control" >
Ответ 7
Для Googler, у которого может быть та же проблема: это может произойти, если у вас есть нечисловое значение в поле ввода number
типа.
Например:
<input type="number" value="<? echo $myNumberValue; ?> "/>
Это ничего не покажет, хотя Dev tools говорит, что значение есть, так как дополнительный пробел после ?>
Делает его не числовым. Просто удалите лишнее пространство.
Ответ 8
Похожая проблема была с входным значением, полученным через ajax, правильно установленным и проверяемым через консоль браузера, но не видимым. Проблема заключалась в другом поле ввода, имеющем тот же идентификатор, и оно не было очевидно из-за нескольких включенных файлов JSP, многие из которых имели формы.
Ответ 9
Я даже отключил автозаполнение без результата. Я закончил тем, что поместил следующий фрагмент jquery на событие document.ready.
myForm.find("input").each((i, el) => {
$(el).val($(el).attr("value"));
});
Кроме того, это было бы эквивалентно в чистом es2015:
document.querySelectorAll("myForm input").forEach(el => {
el.value = el.getAttribute("value");
});
Если вы не используете прекомпилятор, такой как Babel, и вам нужна совместимость со старыми версиями браузера, измените "(el) =>" на "function (el)". Я попробовал оба кода в моем сценарии и работал нормально.
Ответ 10
Для меня это было потому, что я использовал <input>
не заключая его в <form>
Ответ 11
Для меня проблема была в том, что у меня было несколько входов с одинаковым идентификатором. Я мог видеть значение в поле, но чтение его через javascript дало пустое значение, потому что он читал другой ввод с тем же идентификатором - я был удивлен, что не было ошибки javascript, просто не мог прочитать значения, которые я мог видеть в форма.
Ответ 12
Для тех, у кого есть похожая проблема с использованием Angular: ngModel останавливает работу значения.