不可编辑,可删除的textarea部分

时间:2014-08-19 15:07:24

标签: javascript jquery html html5

我有一个简单的textarea,它有一个默认值。我希望每次都能保持这个价值。用户不应删除此值,但他可以添加额外的字符串。

<textarea>This is contstant</textarea>

如上所述。它有一个默认值。我该如何保护这个价值?但是用户可以在默认值之后添加一些内容,如下所示。

<textarea>This is contstant and extra things by user</textarea>

那么如何使用默认值进行部分可编辑的textarea?

2 个答案:

答案 0 :(得分:0)

您可以将事件处理程序附加到<textarea>,每次更改时都会执行简单的验证。如果它试图更改为常量被部分销毁的位置,则覆盖字符串值的X个字符。

$('#foo').keydown(function () {
    if ($(this).val().indexOf("This is constant.  ") !== 0) {
        var length = "This is constant.  ".length;
        var current = $(this).val();
        var after = current.slice(length);

        $(this).val("This is constant.  " + after);
    }
});

以下是JSFiddle的示例。

我建议使用JQuery,因为<textarea>实际上没有value,或者我认为甚至可以检查text属性。 JQuery只是抽象出<textarea>的怪癖。

答案 1 :(得分:0)

我会这样:

  1. 设置textarea的样式以删除边框。
  2. 在顶部放置div,其中包含常量文字。
  3. div中的两个元素包裹起来,使其具有公共边框。
  4. 这样,常量文本看起来好像是textarea的一部分,但事实并非如此。

    提交表单时,请将静态文本添加到字段值。