2017-02-16 113 views
0

之前摆脱使用JavaScript字符串我有这样的代码,我抓住一个属性值,并将其加载到一个表格,标题行可以看起来像:填充表单输入

欢迎美国最好的价值无论

HtmlSpecialChars equivalent in Javascript?没有运气:

但使用这种转义功能时,该字符串在撇断了,

var headline = escape($(this).attr("data-headline")); 

//populate the textbox 
$(e.currentTarget).find('input[name="headline"]').val(headline); 

我也在这里使用的解决方案尝试。

如何填充我的输入并保留撇号/引号?

+0

你可以只用'$( '输入[名称= “标题”]',e.currentTarget)'选择VS选择和找。为什么你需要在javascript中转义它?只要设定值不应该导致任何问题。 – Marie

+0

在这里调用'escape'有什么意义? a)[它没有做](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/escape)你认为它做了什么b)没有必要逃避一个字符串进入'.val()'! – Bergi

+0

'escape'似乎被弃用,主要用于'URI'而不是用于逃避撇号 – Kaddath

回答

0

只需使用

$(this).find('input[name="headline"]').val(this.dataset.headline); 

无需任何转义。

但是,请注意escape不会切断撇号,它会将它们替换为%27。如果您的当前代码在标题中不适用于撇号,请确保包含data-headline属性的标记已正确使用任何工具创建它。

+1

感谢您的建议,您正确地转义属性是正确的。 使用PHP,这个工作对我来说: <按钮类= 'BTN BTN-主' 数据切换= '模式' 的数据目标= '#modal_create_article' 数据标题=“”用htmlspecialchars($标题,ENT_QUOTES )。“'> + – handlethisman