我知道我可以使用
禁用/锁定输入框的一部分<input type="text" disabled="disabled"/>
或
<input type="text" readonly="readonly"/>
但我想要
<input type="text" value="[[inputbox|edithere]]"/>
用户只能编辑edithere
我试图谷歌这个,但我能找到的唯一相关的事情是如何完全禁用输入框或禁用某些键。
我不知道输入框id
或有多少(通过php onload动态创建),但我知道它们将永远是一个管道和两个]] bookending我想编辑的值
修改
答案 0 :(得分:3)
使用股票输入操作属性不能做到这一点。
但是你可以用css和一些额外的标记来模拟这个:
<div class="wrapper">
<div class="static text">static text</div>
<input class="text" type="text" />
</div>
将“静态文本”div放在输入的顶部,并将左边距添加到输入文本中。
答案 1 :(得分:1)
这是不可能的。使用标记来包装输入,并在输入之前或之后放置不可编辑的部分,并将标记设置为看起来像输入,并设置输入样式以匹配该样式。
如果您需要表单发送所有数据,请在输入后创建隐藏输入,并在更改值后使用JavaScript(对静态和输入的文本连接)更新它的值主要输入。这样,当发送表单时,将使用后面隐藏的具有相同名称的输入。
答案 2 :(得分:0)
虽然这并非完全不可能,但要做到这一点非常困难,尝试做类似的事情是非常糟糕的做法,至少对你的用例来说是这样。
您应该在输入框内无限制地获取用户输入,如果您想添加方括号等,您可以使用Javascript或服务端语言添加以后。
或者,如果你真的希望在文本框中显示字符,你可以使用claustrofob的解决方案并搞乱CSS。