Javascript 函数不适用于具有特殊字符的变量
Javascript function not working with variables having special character
Javascript function:
var Id ; //global variables
var Name; //global variables
function getServiceId(id,name){
Id=id;
Name = name;
alert(Id);
}
这是我的jsp代码
<core:forEach var="service" items="${listServiceBO}">
<tr>
<td><a href="Javascript:void(0);">
${service.name}
</a></td>
<td>${service.multiplicity}</td>
<td>${service.scheduleType}</td>
<td>
<button type="button" id="serviceDeleteButton(${service.id})" name="serviceDeleteButton"
onclick="getServiceId(${service.id},'${service.name}');" title="Delete"
class="btn btn-link btn-inline" data-toggle="modal"
data-target="#deleteServiceModal">
<span class="glyphicon glyphicon-remove"></span>
<span class="sr-only">Delete</span>
</button>
</td>
</tr>
</core:forEach>
如果我的service.name
包含任何特殊字符....我的值没有在Javascript中设置。但是,如果我在该名称中没有任何特殊字符,那么它就可以正常工作。
由于特殊字符,我无法设置这两个值中的任何一个。任何解决方案???
你能试试这个吗:
onclick="getServiceId(${service.id},"${service.name}");"
或者,最好的办法是转义 Java 中的所有值:
Base64.encode(str);
在Javascript中做解码:
decodeURIComponent(str);
编辑:
尝试转义它:
var Id ; //global variables
var Name; //global variables
function getServiceId(id,name){
Id=id;
Name = escapeRegExp(name);
alert(Id);
}
function escapeRegExp(str) {
return str.replace(/['-'[']'/'{'}'(')'*'+'?'.'''^'$'|]/g, "''$&");
}
JSP不是强适合,但可能会改变这个:
onclick="toggle('getServiceId(${service.id},'${service.name}')');"
自:
onclick="toggle('getServiceId(${service.id}, '"${service.name}'")')"
相关文章:
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 在搜索中考虑特殊字符的
- 避免键入一些特殊字符
- Regex测试特殊字符
- 在 Javascript 中对特殊字符进行排序 (æ)
- 必须检查长度,并在文本框中允许一些特殊字符
- Javascript变量包含特殊字符
- Javascript 函数不适用于具有特殊字符的变量
- 在将会话变量转换为 javascript 变量时丢失特殊字符
- 如何解码JavaScript变量中的特殊字符
- 将特殊字符与变量javascript进行比较
- 如何检查特定字符串是否存在于变量中,在javascript中具有大小写敏感和特殊字符
- 在使用变量创建RegExp对象时添加特殊字符
- 速度模板变量名带有一个特殊字符-点
- 在JavaScript中使用特殊字符拆分变量
- 位于 HTML 文件中的角度变量中的特殊字符
- 将具有特殊字符的动态字符串变量传递给JQuery函数
- 如何将HTML字符串赋值给JavaScript中的变量,并轻松地从特殊字符转义