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

时间:2012-09-28 07:59:55

标签: javascript

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

<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中,因此我可以将其用于最终的功能。

感谢您的回答!

3 个答案:

答案 0 :(得分:2)

\是转义字符,因此需要复制才能成为文字\,即用\替换所有\\个符号并重试。< / p>

请参阅Javascript - Replacing the escape character in a string literal

答案 1 :(得分:0)

\在Javascript中保留为特殊字符的转义字符。

http://www.javascriptkit.com/jsref/escapesequence.shtml

使用两个\

逃避\\本身

答案 2 :(得分:0)

使用escape和unescape函数 unescape()函数解码编码的字符串。 http://www.w3schools.com/jsref/jsref_unescape.asp