我有一个文本包含在 <textarea>
上像这样:
Hi {nom},
We are glad to accept your invitation.
我需要它成为
Hi Dolly Parton,
We are glad to accept your invitation.
我不想使用任何插件,但我尝试开发这个简单的功能,但没有得到积极的结果:
prevContent=$('textarea').val(); //alerts correctly textarea content
content = prevContent.replace('{nom}','Dolly Parton');
在这种情况下,不会进行替换,内容的值与 prevContent 相同。
这并不是要进行实时替换,必须在提交表单之前进行替换:
$(document).on('click','.submitMessage', function(){
prevContent=$('textarea').val();
content = prevContent.replace('{nom}','Dolly Parton');
$.post('../actions/newMessage.php',{ms_content:content}).success(
function(data){
alert("yikes");}
);}
});
已解决:这是由于变量拼写错误造成的。它的发送方式类似于 {nom1},而不是 {nom}。很抱歉给您带来不便。
最佳答案
您需要将 RegExp
与 g
一起使用标志,因为在您的示例中只有第一个 {nom}
将被替换:
var prevContent = $('textarea').val();
var content = prevContent.replace(/\{nom\}/g, 'Dolly Parton');
要更新textarea
,您可以使用.val
,就像这样
$('textarea').val(content);
关于javascript - jQuery 查找和替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30096909/