假设我有以下代码:
<html:link onclick="jQuery('#add').data('name','${name}').dialog('open');" href="#">
有了这个,如果 $ {name} = a“b”c ,就会出现问题,链接效果不佳。 我试图逃避价值,序列化,但也许我的方式是错误的。
有任何建议如何做到这一点?我一直在寻找,但我找不到答案。
提前全部谢谢。
答案 0 :(得分:1)
您需要escape your quotes或通过在其上放置一个侦听器将其从DOM(我推荐)中删除:
$('a').click(function(){
$('#add').data('name','${name}').dialog('open');
});
答案 1 :(得分:1)
您必须转义数据值,例如html实体。有关详细信息,请参阅this link。
而且,您使用的是Struts 2 Framework吗?只需使用<s:property>
,它就会为你逃脱。
如果没有,请在jstl中使用<c:out>
,它会对您有所帮助:)
答案 2 :(得分:0)
如何不插入JavaScript?
模板
<html:link id="add_name_open_dialog" rel="${name}" href="#">
的JavaScript
jQuery("#add_name_open_dialog").click(function(){
jQuery('#add').data('name', $(this).attr("rel")).dialog('open');
});