禁用编辑输入框的一部分

时间:2013-06-26 18:45:02

标签: javascript jquery html

我知道我可以使用

禁用/锁定输入框的一部分
<input type="text" disabled="disabled"/>

<input type="text" readonly="readonly"/>

但我想要

<input type="text" value="[[inputbox|edithere]]"/>

用户只能编辑edithere

我试图谷歌这个,但我能找到的唯一相关的事情是如何完全禁用输入框或禁用某些键。

我不知道输入框id或有多少(通过php onload动态创建),但我知道它们将永远是一个管道和两个]] bookending我想编辑的值

修改

http://jsfiddle.net/7rTMK/

3 个答案:

答案 0 :(得分:3)

使用股票输入操作属性不能做到这一点。

但是你可以用css和一些额外的标记来模拟这个:

<div class="wrapper">
    <div class="static text">static text</div>
    <input class="text" type="text" />
</div>

将“静态文本”div放在输入的顶部,并将左边距添加到输入文本中。

示例http://jsfiddle.net/MTEec/

答案 1 :(得分:1)

这是不可能的。使用标记来包装输入,并在输入之前或之后放置不可编辑的部分,并将标记设置为看起来像输入,并设置输入样式以匹配该样式。

如果您需要表单发送所有数据,请在输入后创建隐藏输入,并在更改值后使用JavaScript(对静态和输入的文本连接)更新它的值主要输入。这样,当发送表单时,将使用后面隐藏的具有相同名称的输入。

答案 2 :(得分:0)

虽然这并非完全不可能,但要做到这一点非常困难,尝试做类似的事情是非常糟糕的做法,至少对你的用例来说是这样。

您应该在输入框内无限制地获取用户输入,如果您想添加方括号等,您可以使用Javascript或服务端语言添加以后

或者,如果你真的希望在文本框中显示字符,你可以使用claustrofob的解决方案并搞乱CSS。