<input type = "file" /> 上传前会得到一个路径,比如该路径为c:\ok\mp.jpg 我用javascript怎么得到mp.jpg,而把c:\给用Susbstring截掉啊,我是先用 var file = document.getElementbyID("file").value;file.lastIndexOf("\")但这么写问题马上就来了,提示我出错,请各位大侠帮忙!

解决方案 »

  1.   

    file.lastIndexOf("\\"); \要转义 var s = "c:\\ok\\mp.jpg ";
    var p = s.lastIndexOf("\\");
    s = s.substr(p+1, s.length-p);
      

  2.   

    不是啊,但是从<input type="file">中到入文件后,它的路径就被自动写成了c:\ok\mp.jpg啊
    我取的时候是个变量啊?
      

  3.   

    你试试这个看看:
    <html>
    <head>
    <script language="javascript">
    function show(){
    var xx=document.getElementById("ff").value;
    //C:\Documents and Settings\Admin\桌面\列表值互换.js
    if(xx!="" && xx.indexOf("\\")!=-1){
    var yy=xx.split("\\");
    var zz=yy[yy.length-1];
    document.getElementById("vv").value=zz;
    }
    }
    </script>
    </head>
    <body>
    <input type="file" id="ff" name="ff" size="60" />
     <br><br>
     <input type="button" value="取值" onClick="show()" />
     <input type="text" id="vv" name="vv" size="60"/>
    </body>
    </html>
      

  4.   

    针对变量操作\也是要用\\
    lastIndexOf("\\")并不是找\\,而是找\,
    如果写成lastIndexOf("\")的话 \“是表示双引号",所以字符串就没有结束符号了.