怎么才可以去掉<html:file>中的那个输入框,让页面只显示那个浏览按钮.或是用一个button来做,当点击一个button就可以浏览本地的文件夹.

解决方案 »

  1.   

    我是写了一个button和一个<html:file>标签
    然后通过<html:file>标签的style="display:none"属性将<html:file>标签隐藏
    通过button的onclick方法调用<html:file>标签的onclick事件<input type="file" name="nFile" id="idUploadFile" style="display:none"/>
    <input type="button" onclick="hahaClick();" value="file"/>javascript
    function getxlsurl(){ 
        var uploadfile = document.getElementById("idUploadfile");
        uploadfile.click();
    }
    楼主试下
      

  2.   

    <button type="file"/>不就搞定吗!!
      

  3.   

    <input name="myupfile" type=file id="myupfile" class="STYLE1" style="filter:alpha(opacity=50);width:30px; height:19px;cursor:hand" >
      

  4.   

    我晕,又有一个要改变input file样式的兄弟,
    用这个吧<HTML>
        <BODY>
            <div id="tt" style="position:relative;">
                <input type="button" value="添加附件" onmouseover="floatFile()">
                <br>
                <div id="div1">
                    <div id="file1text" ></div><input id="file1" name="myfile" type="file" onchange="showText(this)" style="position:absolute;filter:alpha(opacity=0);width:30px;" >
                </div>
            </div>
            </p>
    <input type="text" id="xwidth"/>
            <input type="button" onclick="alert($('tt').innerHTML)" value="showHTML">
        </BODY>
    </HTML>
    <SCRIPT LANGUAGE="JavaScript">
        function $(id)
        {
            return document.getElementById(id);
        }
        //全局变量,记录文件数;
        var fileNum=1;
        //mouseover时,把input file移到按扭上,保证点击的是file,
        function floatFile()
        {    
            $("file"+fileNum).style.posTop=event.srcElement.offsetTop;
            $("file"+fileNum).style.posLeft=event.x-$("file"+fileNum).offsetWidth/2;

        }
        //选择完一个文件之后,自动创建一个新的div 和 file表单,用于下回使用,hidden刚用过的file
        function showText(obj)
        {
            $(obj.id+"text").innerHTML=obj.value+"&nbsp;&nbsp;<a href='javascript:del("+fileNum+")'>删除</a>";
            $("file"+fileNum).style.display='none';
            fileNum=fileNum+1;
            //直接追加innerHTML(innerHTML+=)会清空原来file中的内容
            $("div"+(fileNum-1)).insertAdjacentHTML('AfterEnd','<div id="div'+fileNum+'"><div id="file'+fileNum+'text" ></div><input id="file'+fileNum+'" name="myfile" type="file"  onchange="showText(this)"  style="position:absolute;filter:alpha(opacity=0);width:30px;" hidefocus></div>');
        }
        function del(id)
        {
            $("div"+id).innerHTML="";
            $("div"+id).style.display="none";
        }</SCRIPT>
      

  5.   

    最好还是不要把file控件隐藏,因为会有js错误发生。