0

HI 有一个简单的需要来生成一个包含文本区域内容的新窗口。根据用户想要的格式类型,他们可以按下按钮来更改一些 textarea 的“文本”以满足他们的需要。但是我在实现 .replace 命令时遇到了麻烦——尽管我尝试在这个论坛上遵循示例。

    <body>
    <div id="diagoutput"> </div>

<a onclick="combine()" href="report_output.html" id="link" target="_blank"><input type="button" value="Generate a report window"><br>

  <textarea rows="10" cols="40" placeholder="Diagnosis" id="outPut3">I love the sun devils</textarea><br>

    </body>

这是我的 js 片段,它没有替换预期的文本

function combine(){
    var diag=$("#outPut3").text().replace(/sun devils/g, "WILDCATS");
    var textToPass=' \nNEW TEXT:\n'+diag.value;
    localStorage.setItem("myText", textToPass);
};

我是 jQuery 新手,所以我复制其他人所做的一些尝试可能有点粗糙。

我感谢任何帮助,ck

4

2 回答 2

2

要获取 textarea 的内容,不要使用textbut val,也不要尝试调用变量valuediag因为它是字符串,而不是 jQuery 元素:

var diag=$("#outPut3").val().replace(/sun devils/g, "WILDCATS");
var textToPass=' \nNEW TEXT:\n'+diag;
localStorage.setItem("myText", textToPass);

如果要将内容更改为替换的字符串,请val再次使用:

$("#outPut3").val(textToPass);
于 2013-07-11T13:39:41.453 回答
0

其实你的代码很好。唯一的错误是diag.value,你可以拥有

var textToPass=' \nNEW TEXT:\n'+diag;

如果您想在 中textarea,请更改您的代码,如下所示。

var diag= $("#outPut3").text().replace(/sun devils/g, "WILDCATS");
$("#outPut3").text(diag);

检查这个小提琴

于 2013-07-11T13:40:38.617 回答