Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-只允许更改textarea中的部分文本_Jquery - Fatal编程技术网

jQuery-只允许更改textarea中的部分文本

jQuery-只允许更改textarea中的部分文本,jquery,Jquery,例如,我有一个带有文本的文本区域 <textarea id="response" name="response" class="form-control" maxlength="160">Text1. Text2</textarea> Text1。文本2 我需要允许用户只编辑Text1文本2不应更改。您可以将文本1设置为固定,并可以编辑文本2,但您必须将文本1作为跨度,您可以看到示例 它可能会对您有所帮助。您最好尝试使用CSS和contenteditable标记创建一

例如,我有一个带有文本的文本区域

<textarea id="response" name="response" class="form-control" maxlength="160">Text1. Text2</textarea>
Text1。文本2

我需要允许用户只编辑
Text1
<代码>文本2不应更改。

您可以将文本1设置为固定,并可以编辑文本2,但您必须将文本1作为跨度,您可以看到示例


它可能会对您有所帮助。

您最好尝试使用CSS和
contenteditable
标记创建一个假文本区域,并在提交表单时从中提取数据(假设是)。下面是一个例子:

<html>
<head>
    <style>
        #custom-textarea {
            border: solid 1px #999999;
            resize: both;
            overflow: auto;
        }

        #custom-textarea *:read-write:focus {
            outline: none;
        }

        #custom-textarea span {
            pointer-events: none;
        }
    </style>
    <script src="jquery-1.11.3.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#custom-textarea span").on("focus", function(){
                $(this).parent().trigger("focus");
            });
        });
    </script>
</head>
<body>
    <div style="width: 165px;">
        <div id="custom-textarea" tabindex="-1">
            <span contenteditable="true">This section is editable.</span>
            This section is not editable.
        </div>
    </div>
    <textarea>This section is editable. This section is still editable.</textarea>
</body>
</html>

#自定义文本区{
边框:实心1px#999999;
调整大小:两者;
溢出:自动;
}
#自定义文本区域*:读写:焦点{
大纲:无;
}
#自定义文本区域跨度{
指针事件:无;
}
$(文档).ready(函数(){
$(“#自定义文本区域范围”)。在(“焦点”,函数()上{
$(this.parent().trigger(“focus”);
});
});
此部分是可编辑的。
此部分不可编辑。
此部分是可编辑的。此部分仍可编辑。

您可以尝试检测用户何时更改文本(
input
事件),然后追加
Text2
。但是,您需要对字符串进行切片,并查看最后一部分是否为
Text2
。如果是,不要附加文本。什么是用户将Text2更改为textss2。那么我将附加Text2?所以我会收到短信1。文本22。text2mmm。。。。。。我没有想到这一点。为什么最后需要
Text2
?根据您的需要,您可以创建另一个
textarea
,该区域具有
display:none
,并向其中添加Text2。然后,您可以将用户键入的文本与Text2连接起来,并使用该字符串。他们无法编辑Text2,因为textarea是隐藏的。为什么不为可编辑的内容设置一个控件?当输入用于处理时,可以附加静态数据。