为什么无法在此 html 输入字段中键入字符


Why characters cannot be typed into this html input field?

有一个html输入字段文本具有来自数据库的值,值为:<input type=radio id="%id%" name="%name%" value="%valeur%" %checked% onclick="" />。实际上,字段的数据是使用 htmlentities 函数在PHP数据库中返回的列值上获取的。

问题是我不能在字段中键入任何字符,尽管该字段不是只读的!但是我可以使用后退键或删除键盘删除其中的字符。

那么它怎么可能是可写的呢?

不能使用单选按钮将文本写入其中。使用type="text"<textarea>

它是一个

单选按钮。 制作type=text

如果文本字段的值为 <input type=radio id="%id%" name="%name%" value="%valeur%" %checked% onclick="" /> <, >则文本框中的值不值,请使用 &lt;&gt; 等。

在将东西放入value之前使用htmlspecialchars

改用<input type="text" id="%id%" name="%name%" value="%valeur%" />

在我最初的帖子之后编辑:

您需要使用 &quot; 从数据库中转义双引号。

所以这应该有效:

<input type="text" value="<input type=radio id=&quot;%id%&quot; name=&quot;%name%&quot; value=&quot;%valeur%&quot; %checked% onclick=&quot;&quot;/>" />

因此,您需要在插入数据库之前或将值放入文本字段时进行转义。但在这两种情况下,都需要更改双引号。

为此,请使用 php htmlspecialchars()

看这个小提琴。