Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单隐藏字段中的字符串替换-JS_Javascript_Jquery - Fatal编程技术网

Javascript 表单隐藏字段中的字符串替换-JS

Javascript 表单隐藏字段中的字符串替换-JS,javascript,jquery,Javascript,Jquery,我有我正在放置的歌曲标题-任何带有撇号的歌曲都会破坏代码-例如,当我尝试广告“那没关系”时,它会注册为“那”,因为“那”会破坏代码。这是一行孤立的代码。有人能推荐一个修复程序来替换“with\”吗 "<input type='hidden' name='title' value='"+val.sources[0].title+"'>"+ 但我相信语法是错的 "<input type='hidden' name='title' value='"+val.sources[0].t

我有我正在放置的歌曲标题-任何带有撇号的歌曲都会破坏代码-例如,当我尝试广告“那没关系”时,它会注册为“那”,因为“那”会破坏代码。这是一行孤立的代码。有人能推荐一个修复程序来替换“with\”吗

"<input type='hidden' name='title' value='"+val.sources[0].title+"'>"+
但我相信语法是错的

"<input type='hidden' name='title' value='"+val.sources[0].title+"'>"+
“”+
我希望隐藏字段值不会在'

<?php if($playlist!='fav' && $membership == '2'){ // REMOVED $list ?>
            "<form id='addFavorite' action='process_fav_add_pro_preview.php?p=<?php echo $playlist; ?>' method='post'><input type='hidden' name='favid' value='"+val.sources[0].track_id+"'>"
            +
            "<input type='hidden' name='mediatype' value='"+val.sources[0].media+"'>"+
            "<input type='hidden' name='title' value='"+val.sources[0].title+"'>"+
            "<input type='hidden' name='artist' value='"+val.sources[0].artist+"'>"+
            "<input type='hidden' name='source_url' value='"+val.sources[0].src+"'>"+
            "<input type='hidden' name='credits' value='"+val.sources[0].credits+"'>"+
            "<input type='hidden' name='user' value='<?php echo $id; ?>'>"+
            "<input type='hidden' name='playlists' value='<?php echo $playlist; ?>'>"+
            "<button class='playlist-favorite' id='sub'><i class='fa fa-heart faa-flash animated-hover' style='color:#ff4444'></i></button>"+
            "</form>"
            +
            <? } ?>


“要接受包含撇号或单引号的字符串,可以使用以下方法:

function escapeRegExp(text) {
  return text.replace(/[']/g, '\\$&');
}
function escapeRegExp(text) {
  return text.replace(/[-[\]{}()*+?.,'\\^$|#]/g, '\\$&');
}
这是以下方法的变体:

function escapeRegExp(text) {
  return text.replace(/[']/g, '\\$&');
}
function escapeRegExp(text) {
  return text.replace(/[-[\]{}()*+?.,'\\^$|#]/g, '\\$&');
}
从堆栈溢出处的问题引用

如果将值传递为
escapeRegExp(“没关系”)
,则它将变为
没关系

更新: 以下是您可以尝试执行的操作:

$(“输入[name='title'])。每个(函数(){
var text=$(this.val();
$(this.val(escapeRegExp(text));
});
函数escapeRegExp(文本){
返回文本。替换(/[']/g,\\$&');
}


请您在代码中添加更多详细信息好吗?更多的JS代码将有助于理解。第一行没有什么意义。它是JS变量的一部分吗?可能重复为什么要添加单倒逗号,然后是双倒逗号?双倒逗号应该只够
value=“+val.sources[0]。title+“
。我认为你放的单引号在撇号混合后破坏了这个值,因为我将它与html结合,它们需要相反的标记?我编辑了这篇文章并添加了整个代码块。。。我理解你发布的内容,但我如何在我的代码块上下文中实现它?@Davo你能指出你正在添加
的字段吗?
,因为你的命名约定与问题的上下文有点混淆。+val.sources[0]。title+你是在建议:“+@Davo是的,让我试着通过编辑我的答案来解释它