日期:2014-05-18  浏览次数:20431 次

请教:[孟子E章]JS传参乱码的问题
按找您提供的方法,框架向父级页面传参已经解决了,谢谢。代码如下:
<script   language= "JavaScript "   type= "text/javascript ">
//获取文件路径传递给父级窗口
              function   getFile(value)
{
        var   filepath=value;
        window.top.opener.document.getElementById( "fileUrl ").value=SubStringUrl(filepath);
parent.location=parent.location;window.top.close();
}
//文件路径地址
function   SubStringUrl(value)
{
      var   sub_value=value.substring(value.indexOf( 'UpFiles ')-1);
      return   sub_value
}
</script>

现在出现的问题就是参数传到父级页面文本框中显示字符是不完全的或是乱码。
我在 <script   language= "JavaScript "   type= "text/javascript "   charset= "gb2312 "> 这样设置依然是乱码。况且目前没有中文字符,斜杠的位置显示都是乱码。

------解决方案--------------------
先escape()下传过去,然后unescape()试试
------解决方案--------------------
支持!顶一个!!
------解决方案--------------------
<td width= "60% " align= "left "> <a onclick= "javascript:getFile( 'F:\我的作品\WEB应用程序\HChen\UpFiles\29369873.jpg '); " href= '# '> 29369873.jpg </a> </td>
这样写是错的
要写成

<td width= "60% " align= "left "> <a onclick= "javascript:getFile( 'F:\\我的作品\\WEB应用程序\\HChen\\UpFiles\\29369873.jpg '); " href= '# '> 29369873.jpg </a> </td>
要得到文件名字,直接

function getFile(value)
{
var filepath=value;
window.top.opener.document.getElementById( "fileUrl ").value=filepath.substr(filepath.lastIndexOf( "\\ ")+1);
parent.location=parent.location;window.top.close();
}