输入值不显示。怎么可能?

时间:2011-04-24 17:39:27

标签: html html5 cakephp cakephp-1.3

这一定是我完成或正在做的完全愚蠢的事情,但我有一个输入,其值属性根本没有显示:

<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个textarea和2个选择。没有显示任何文本输入值,但其他一切都很好。

任何想法都将不胜感激。我甚至不敢相信我不得不问这个问题,但这让我感到多么疯狂。

13 个答案:

答案 0 :(得分:85)

哎呀。我知道这将是一个超越愚蠢的事情。有一些Javascript正在清除数据。清理在其他地方很有用,但我不知道它正在执行,所以追踪是一个严重的痛苦。一旦我在这种情况下阻止清算,我的价值实际上就出现了。因为我在Web检查器中查看代码,所以我认为这将是一个“实时”视图,但我想这并不完全正确。

感谢大家的帮助。

答案 1 :(得分:12)

我与 AngularJS

有关

我试图将两者设置为HTML值和ng-Model,认为ng-Model默认为Value,因为我太懒了将模型添加到$ scope在控制器......

所以答案是将该默认值分配给控制器中的$ scope.variable。

答案 2 :(得分:4)

对我来说,这是记住浏览器的。更改网址字符串或清除历史记录可能有所帮助。

答案 3 :(得分:1)

您是否对$ html-&gt; input()的'default'和'value'参数的使用感到困惑?

如果您使用的是'default' => $product['Product']['make']和$ this-&gt;数据,则不会填充该字段。 'default'参数的目的是在没有表单数据($ this-&gt; data)时显示默认值。

如果要强制显示值,则应使用“value”参数。 'value' => $product['Product']['make']

答案 4 :(得分:1)

  

对我来说,这仅对于Firefox是一个问题。

我通过在输入字段中添加属性autocomplete="off"来解决。

<input type="text" value="value must appear" autocomplete="off"/>

答案 5 :(得分:0)

对于可能遇到相同问题的Google员工:如果number类型输入字段中包含非数字值,则可能会发生这种情况。

例如:

<input type="number" value="<? echo $myNumberValue; ?> "/>

即使Dev工具表示值存在,也不显示任何内容,因为?>之后的额外空格使其不是数字。只需删除额外的空间。

答案 6 :(得分:0)

在通过ajax检索输入值,通过浏览器控制台正确设置和可验证的输入值时也遇到类似的问题,但不可见。问题是另一个具有相同ID的输入字段,由于包含了多个JSP文件,其中许多具有表单,因此并不明显。

答案 7 :(得分:0)

我什至将自动完成设置为“关闭”,但没有结果。我最终将下一个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)”。我在我的场景中尝试了两种代码,并且工作正常。

答案 8 :(得分:0)

对我来说,这是因为我使用了<input>标签,而没有将其包含在<form>标签内

答案 9 :(得分:0)

对我来说,问题是我有多个具有相同ID的输入。我可以在字段中看到该值,但是通过javascript读取却得到一个空值,因为它正在读取具有相同id的另一个输入-我很惊讶没有javascript错误,只是无法读取我可以在其中看到的值表格。

答案 10 :(得分:0)

对我来说,这是错误的数字格式:Chrome预期为“ 49.1”,但ASP.NET却通过了“ 49,1”,但它没有显示!

<input type="number" value="49,1"/>    // Should have been 49.1 !!!

答案 11 :(得分:0)

电子上发生了同样的问题

我正在使用document.getElementById('_name').value = ''而不是document.getElementById('_name').setAttribute('value', "")清除该字段。

所以我想简单的引号会破坏字段或输入具有第二个值隐藏属性,因为我可以在字段上重写并且不会更改检查器上的值

答案 12 :(得分:0)

我遇到了@Rob Wilkerson的相同问题,一个onchange()""清除了输入的值,所以我改成1。这么愚蠢的问题!

HTML
<input class="form-control inputCustomDay" type="text" id="txtNumIntervalo" onkeyup="changeTipoOptions()" value="1" min="1" />
Jquery
$("#txtNumIntervalo").val(1);