jquery - 替换输入值

标签 jquery

是否有更好的方法来替换字符串,因为文本区域中的 & 会破坏脚本,因为它认为它是另一个 & 参数?

function doRequest(){
var str = $('textarea#tr').val();
$.ajax({
   type: "POST",
   url: "index.php?sd=t",
   data: "txt="+str.replace(/&/g, "and"),
   success: function(){
        $("div").css('color','red');
        $("div").text('Saved');
        $("div").fadeTo(800,1);
        $("div").animate({backgroundColor:'#000000'}, 200);
        $("div").animate({backgroundColor:'#FFFF90'}, 400);
        stre = false;
   }
 });
}

最佳答案

您可以将数据作为对象传递并让 jQuery 序列化它,如下所示:

data: {txt: str},

请注意,这不会放置单词“and”,它会对其进行转义,留下 %26

What actually happens under the covers正在调用encodeURIComponent() ,像这样:

data: "txt="+encodeURIComponent(str),

我会使用第一种方法,我只是展示下面发生的事情,以便更好地理解编码的工作原理。

关于jquery - 替换输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3896311/

相关文章:

javascript - 向虹膜颜色选择器添加更多调色板,而不覆盖当前调色板?

javascript - 将 DIV 替换为 JQuery 传递参数

javascript - jQuery 禁用搜索输入不起作用

javascript - 加快图像背景的页面加载

jquery - 粘性表头不工作

javascript - html 选择列表 - 通过传入变量获取文本值?

javascript - 使用 Javascript 验证复选框

php - 使用php创建JS文件

javascript - 如何将背景图像放在主体的背景图像上方?

javascript - 带有 "image in div"缩放胡佛效果的旋转木马松散响应行为