0

我有一个功能,单击时会填充父窗口的字段。在这种情况下,它是一个名称(文本)字段。

我遇到的问题是,如果该字段中有一个单引号(例如 Bill's Chili),该函数将失败,因为它将单引号读取为参数的结尾。

这是电话:

href="javascript:selectItem('recipe','recipe_name','<recipe_description')"

同样,如果名称是 Bill's Chili,则会导致语法错误。

有没有办法自动将该单引号转换为 HTML 等效项,以便正确读取?

谢谢

4

5 回答 5

2

对于该字段中的单引号,请在此处\'使用有关转义字符的更多信息。

href="javascript:selectItem('Bill\'s Chilli','recipe_name','<recipe_description')"
于 2012-07-30T17:53:29.173 回答
1

我找到的答案与我想象的完全不同。页面本身是用 ASP 编写的(对不起,我忘了提到,我认为这并不重要,因为该函数是 javascript 并且它是在 HTML 中调用的)。

因此,我只是使用了这个:

<%fixed_name = Replace(recipe_name,"'","") %>

然后在函数调用中使用 fixed_name 而不是 recipe_name。

感谢您的所有帮助,它使我朝着正确的方向前进!

于 2012-07-30T18:20:20.947 回答
0

尝试这个

href='javascript:selectItem("recipe","recipe_name","<recipe_description")'
于 2012-07-30T17:53:16.247 回答
0

您可以尝试像这样使用转义的“双”引号:

href="javascript:selectItem(\"recipe\",\"recipe_name\",\"recipe_description\")"

请让我知道它是否有效。

于 2012-07-30T17:54:37.627 回答
0

你可以使用str.replace

只需将 " 替换为 " et ' 替换为 ' 。:)

但实际上,我假设您从 php 脚本(从某种存储)中获取所有这些东西,在这种情况下,您可以直接使用 php 转义引号,这样会更安全。

于 2012-07-30T17:58:43.107 回答