type="file"的HTML成员text属性是只读的,不能设置初值

解决方案 »

  1.   

    <INPUT type="file" name="FileRefer" value="参照">
                                        ^^^^^^^^^^^^设置无效的
    另类解决办法:
    <input type="file" name="aaaaa" style="display:none">
    <input type="button" name="cankao" value="参考" onclick="document.all.aaaaa.click();">
      

  2.   

    <input type="file" name="aaaaa" style="display:none">
    <input type="text" name="aaa" readonly>
    <input type="button" name="cankao" value="参考" onclick="var fi=document.all.aaaaa;fi.click();document.all.aaa.value=fi.value;">
      

  3.   

    按照 yaray(雅睿,生活在别处) 的方法可以实现,但现在不想取全路境,只显示文件名,我自己做了一个截取的方法,总是出错,请大家帮忙看看(JSP文件中的部分代码);
    <INPUT type="file" name="FileRefer" style="display:none">
    <INPUT type="text" name="IMG_FILE" >
    <INPUT type="button" name="FileReferButton" value="参照" onclick="
    var fi=document.all.FileRefer;
    fi.click();
    document.all.IMG_FILE.value=retStr(fi.value);"><script language="JavaScript 1.2">
    function retStr(inStr){
    var temp = 0;
    for (var i = inStr.length() -1 ; i >= 0 ; i--) {
    if (inStr.charAt(i) == ".")  {
    temp = i;
    } else if (inStr.charAt(i) == "\") {
    inStr = inStr.subString( i+1,temp);
    }
    }
    return inStr; 

    </script>点参照按钮,可以正常选择文件,在返回时报出:请指定对象....哪里写的不对??
      

  4.   

    <INPUT type="file" name="FileRefer" onpropertychange="javascript:retStr(this.value);" style="display:none">
    <INPUT type="text" name="IMG_FILE">
    <INPUT type="button" name="FileReferButton" value="参照" onclick="FileRefer.click();"><script language="JavaScript">
    function retStr(inStr){
    var temp = 0;
    var i=inStr.lastIndexOf(".");
    var j=inStr.lastIndexOf("\\");
    document.all.IMG_FILE.value=inStr.substring(j+1,i); 

    </script>
      

  5.   

    sorry,
    var temp=0;
    是多余的
      

  6.   

    非常感谢 beyond_xiruo(Java/.NET两手抓,两手都要硬)的回答,很好用,只有一个小小的问题,就是如果文件没有扩展名的时候会有问题,做了点改动就可以了  
       function retStr(inStr){
             var i=inStr.lastIndexOf(".");
             var j=inStr.lastIndexOf("\\");
    if ( j < i ) {
                  document.all.IMG_FILE.value=inStr.substring(j+1,i); 
             } else {
                  document.all.IMG_FILE.value=inStr.substring(j+1);
             }
        }