这段代码是一个简单的函数调用:
<input type="submit" name="_eventId_load" onclick="toLoad('2012\9\27\15\2012-09-27T15-05-59-512.00638.eml');" value="Load"/>
这是我在js函数中收到的内容:
function toLoad(path) {
document.getElementById("emailPath").value = escapepath);
}
通过萤火虫,我看到参数path
包含:201292-09-27T15-05-59-512.00638.eml
在景观功能之后:20129%17%0D%812-09-27T15-05-59-512.00638.eml
价值观完全不同。在将它发送到js函数之前,我如何工作/编辑te \
?
提前致谢。
修改
这是解决方案:
<input id="filePath-${status.index}" type="hidden" value="${file.path}"/>
<input type="submit" onclick="toLoad('${status.index}'" value="Load"/>
这些输入位于表单内,每个元素都是一个文件。我需要${status.index}
才能知道我要加载哪个文件。 ${file.path}
包含我要替换的路径。
function toLoad(index) {
var emailPath = document.getElementById("filePath-" + index).value.replace(/\\/g,"\\\\");
document.getElementById("emailPath").value = emailPath;
}
正确的输入将包含在div中,因此我可以将其用于最终的功能。
感谢您的回答!
答案 0 :(得分:2)
\
是转义字符,因此需要复制才能成为文字\
,即用\
替换所有\\
个符号并重试。< / p>
请参阅Javascript - Replacing the escape character in a string literal
答案 1 :(得分:0)
答案 2 :(得分:0)
使用escape和unescape函数 unescape()函数解码编码的字符串。 http://www.w3schools.com/jsref/jsref_unescape.asp