Javascript 表单隐藏字段中的字符串替换-JS
我有我正在放置的歌曲标题-任何带有撇号的歌曲都会破坏代码-例如,当我尝试广告“那没关系”时,它会注册为“那”,因为“那”会破坏代码。这是一行孤立的代码。有人能推荐一个修复程序来替换“with\”吗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
"<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是的,让我试着通过编辑我的答案来解释它