繁体   English   中英

将文字插入<textarea>

[英]insert text into <textarea>

我试图在单击另一个HTML页面中的链接时将文件中的一些文本插入HTML文件中的<textarea></textarea>中。

html1.html:

<a href="#" id="link">click to add text</a>

html2.html:

<form action="...">
   <textarea id="txt"></textarea>
</form> 

js:

$(".link").click(function(){
   window.location = "./html2.html";
   var text = $("#some_id").text();
   $("#txt").val(text)
});

迁移到新页面后,所有进一步的JS执行都将丢失。 您必须执行以下操作,将文本通过查询字符串变量传递到新页面:

$(".link").click(function(){
   var encodedText = encodeURIComponent($("#some_id").text());
   window.location = "./html2.html?txt=" + encodedText;
});

并在html2.html页面上添加如下代码:

var capturedText = window.location.search.match(/(\?|&)txt=(.*?)(&|$)/);
capturedText = capturedText ? decodeURIComponent(capturedText[2]) : '';
$("#txt").val(capturedText);

如果some_idhtml2.html ,则很简单:让html2.html中的JavaScript填写文本

$("#txt").val($("#some_id").text());

如果some_idhtml1.html ,则应将值发送到服务器,并在服务器端填写textarea。 如果这不必要地复杂或不可行,则可以通过多种不同的方式传递文本,最常见的方式是:

  • 在网址html2.html?text="my text"
  • 在Cookie中(大多数情况下不建议使用)

如果通过URL进行操作,只需从html2.html上的JavaScript中的URL中提取文本html2.html

运行“ window.location”后,新页面将开始加载,脚本将停止执行。

此外,您无法在以后的页面上修改元素。

最好的方法是加载html2.html#someTextHere ,然后在html2.html文本从哈希值复制到textarea中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM