Javascript 将路径作为参数传递给JS函数

Javascript 将路径作为参数传递给JS函数,javascript,Javascript,此代码是一个简单的函数调用: <input type="submit" name="_eventId_load" onclick="toLoad('2012\9\27\15\2012-09-27T15-05-59-512.00638.eml');" value="Load"/> 通过firebug,我看到参数路径包含:201292-09-27T15-05-59-512.00638.eml 在scape函数之后:20129%17%0D%812-09-27T15-05-59-512.0

此代码是一个简单的函数调用:

<input type="submit" name="_eventId_load" onclick="toLoad('2012\9\27\15\2012-09-27T15-05-59-512.00638.eml');" value="Load"/>
通过firebug,我看到参数
路径包含:
201292-09-27T15-05-59-512.00638.eml

在scape函数之后:
20129%17%0D%812-09-27T15-05-59-512.00638.eml

这些值完全不同。在将te
\
发送到js函数之前,我如何工作/编辑它

提前谢谢

编辑

这就是解决方案:

<input id="filePath-${status.index}" type="hidden" value="${file.path}"/>
<input type="submit" onclick="toLoad('${status.index}'" value="Load"/>
正确的输入将包含在div中,因此我可以将其用于最终功能


谢谢你的回答

\
是一个转义字符,因此需要将其复制成文字
\
,即用
\
替换所有
\
符号,然后重试


请参见

\
在Javascript中保留为转义字符用于特殊字符


转义
\
本身有两个
\

使用转义和unescape函数 函数的作用是:对编码字符串进行解码。

toLoad!=SetAttachmentToLoad这是我写问题时的一个输入错误。在我的代码中,它有相同的名称,这对我没有帮助:unescape('2012\9\27\15\2012-09-27T15-05-59-512.00638.eml'):“20129 2-09-27T15-05-59-512.00638.eml”哦,我明白了。您必须转义system\符号。使用\\。对不起,误会了,谢谢。我仍然有问题,我无法使用以下命令拨打电话:如何拨打?@Blanca:
。replace
在这里没有帮助,因为在执行replace之前会解释字符串。你已经在你的代码中加入了
\
而不是
\
,也就是说写
'2012\\9\\27…'
@FelixKling是正确的。这一点在中也有解释-没有办法用JavaScript编程解决这个问题。如果路径是在后端生成的,例如使用PHP,则可以在那里执行replace调用。但是,如果您自己在HTML文件中键入常量字符串,
`必须通过手动替换它而成为一个
\`。
<input id="filePath-${status.index}" type="hidden" value="${file.path}"/>
<input type="submit" onclick="toLoad('${status.index}'" value="Load"/>
function toLoad(index) {
    var emailPath = document.getElementById("filePath-" + index).value.replace(/\\/g,"\\\\");
    document.getElementById("emailPath").value = emailPath;
}