我有订单,我需要做这样的事情:
<input id="myInput" type="text" name="myInput" value='<time datetime="2015-01-01" itemprop="startDate">1.1.2015</time>' class="width-100" readonly />
但是在浏览器中,在输入区域中,应该只显示:1.1.2015
,如我所料,显示整个时间标记:<time datetime="2015-01-01" itemprop="startDate">1.1.2015</time>
... idk为什么,我无法弄清楚如何使这项工作。
输入值中的时间标记基于从DB中选择并由函数返回的日期,如:return '<time datetime="'.date('Y-m-d', strtotime($from)).'" itemprop="startDate">'.date('j.n.Y', strtotime($from)).'</time>';
任何建议都会有所帮助。感谢
答案 0 :(得分:0)
您可以在HTML属性中编写几乎任何内容,只要您正确编码(例如<
而不是<
,"
而不是"
,等等。)。所有体面的编程语言都提供内置方法来处理脏细节。这些值在精确属性的上下文中是有效的,有意义的还是有用的是另一回事。
<input>
元素旨在保存纯文本。无论您写入value
属性,都将按原样呈现给用户。如果您键入HTML标记,则不会显示任何其他HTML代码。
如果要将表单数据发送到服务器,只需使用表单字段,就像您现在所做的那样。缺少的是表单字段不需要是可见的。对隐藏数据有一个特定的控制:<input type="hidden">
。来自MDN reference:
hidden
:未显示但其值已提交给服务器的控件。