Подтвердить что ты не робот

Входное значение не отображается. Как это возможно?

Это должно быть что-то совершенно глупое, что я сделал или делаю, но у меня есть вход с атрибутом значения, который просто не отображается:

<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 выбора. Ни одно из значений ввода текста не отображается, но все остальное в порядке.

Любые мысли будут оценены. Я даже не могу поверить, что мне нужно задать этот вопрос, но это как сумасшедший, что делает меня.

4b9b3361

Ответ 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 останавливает работу значения.