Javascript 从文本字段复制文本,并在当前光标位置插入另一个文本区域
参考下图,当我单击“添加”按钮时,我需要从第一个文本字段规则前缀复制文本,然后使用剪贴板,然后需要将复制的文本插入当前光标位置的其他textarea EditeEvent 我相信下面的代码几乎就在那里了,但我似乎无法将复制的文本转换为允许插入其他文本区域的格式 完成此操作后,下一个任务是使用“删除”按钮执行相反的操作,并从textarea Edit事件中删除复制的文本 注意:textarea Edited事件将配置为只读,因此用户无法直接编辑它Javascript 从文本字段复制文本,并在当前光标位置插入另一个文本区域,javascript,razor-pages,Javascript,Razor Pages,参考下图,当我单击“添加”按钮时,我需要从第一个文本字段规则前缀复制文本,然后使用剪贴板,然后需要将复制的文本插入当前光标位置的其他textarea EditeEvent 我相信下面的代码几乎就在那里了,但我似乎无法将复制的文本转换为允许插入其他文本区域的格式 完成此操作后,下一个任务是使用“删除”按钮执行相反的操作,并从textarea Edit事件中删除复制的文本 注意:textarea Edited事件将配置为只读,因此用户无法直接编辑它 // Function Rule Prefix
// Function Rule Prefix Add Button
function rulePrefixAdd() {
/* Get the text field */
var copyText = document.getElementById("rulePrefixInput");
/* If text field is empty, show alert */
if (copyText.value.length == 0) {
/* Popup Window Alert the copied text */
alert("Text input is empty!");
return;
}
/* Select the text field */
copyText.select();
copyText.setSelectionRange(0, 99999); /*For mobile devices*/
/* Copy the text inside the text field */
var textString = document.execCommand("copy");
//alert('textString'); // Alert box contains the correct string
// NOT WORKING - PLEASE HELP
typeInTextarea($(editedEventTextArea), textString);
// This works but I dont want a hardcoded string, need to insert the text from clipboard.
//typeInTextarea($(editedEventTextArea), " << LOOK WHAT I DID! >> ")
}
function typeInTextarea(el, newText) {
var start = el.prop("selectionStart")
var end = el.prop("selectionEnd")
var text = el.val()
var before = text.substring(0, start)
var after = text.substring(end, text.length)
el.val(before + newText + after)
el[0].selectionStart = el[0].selectionEnd = start + newText.length
el.focus()
return false
}
刚刚意识到razor页面上父div类中的formgroup属性阻止javascript函数将文本插入textarea。参考上面的评论,我已经消除了将文本复制到剪贴板的需要,下面的更新功能似乎可以正常工作
// Function Rule Prefix Add Button
function rulePrefixAdd() {
/* Get the text field */
var copyText = document.getElementById("rulePrefixInput");
/* If text field is empty, show alert */
if (copyText.value.length == 0) {
/* Popup Window Alert the copied text */
alert("Text input is empty!");
return;
}
typeInTextarea($(editedEventTextArea), copyText.value);
}
异类规则前缀,但最终在SampleStringblahblahblah的中间…你在建什么?在一个不可编辑的区域中间,你甚至设法选择了什么?你设法说:粘贴在当前的光标位置上,而文本文本在同一个问题中是不可编辑的。所以,如果真的,文本文本实际上是可编辑的而不是只读的,那么就可以插入一个插入符号。规则,是否要添加另一个规则?那么,删除这个东西应该如何处理嵌套规则呢?好吧,对于基于web的应用程序来说,只读可能是一个错误的术语,我让这些都在Windows窗体中工作,但试图用javascript将相同的原因和影响应用于asp.net核心显然是另一回事。不要过多地理解我称为文本字段规则前缀的事实,我要求其他表单字段也使用相同的逻辑,所以在工作解决方案之后。谢谢