Jquery功能,以取代文本区文本不工作

jquery function to replace textarea text not working

本文关键字:文本 工作 文本区 取代 功能 Jquery      更新时间:2023-09-26

我不习惯使用jquery,所以任何帮助都会很感激。我已经写了这个函数,但不能让它工作,谁能告诉我什么是错的。

$(function() {
   $('#replace_button').onclick(function() {
     $('#box_txt').val().replace(/'t/g, '[TAB]');
     $('#box_txt').val().replace(/'n/g, '[BREAK]');
   });
});

附带的HTML是

<textarea name='box_txt' id='box_txt' rows='6' cols='50'></textarea>
  <br>
  <input type='button' id='replace_button' value='Replace'>

我只是想在按下按钮时将所有制表符替换为[TAB],并将所有换行符替换为[BREAK]。

许多谢谢。

val返回一个字符串,而不是指向值的指针。replace不改变你传递的字符串(字符串在JavaScript中是不可变的),但返回一个新的。

你可以使用

var field = $('#box_txt'), s = field.val();
s = s.replace(/'t/g, '[TAB]').replace(/'n/g, '[BREAK]');
field.val(s);
演示

是这样的:

$(function() {
       $('#replace_button').onclick(function() {
         $('#box_txt').val($('#box_txt').val().replace(/'t/g, '[TAB]'));
         $('#box_txt').val($('#box_txt').val().replace(/'n/g, '[BREAK]'));
       });
    });

你得到的值操作它,但永远不会设置回文本区:-)