<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    沖擊多個Input File賦值兼解決中文賦值問題

    網上搜索了半天也沒有完整的解決方案。
    用此方法需要添加到信任站點或解除未簽名的ActiveX控件的禁用

    項目需求是自動搜索客戶端的圖片,找到合適的自動上傳(理論上能上
    傳任何東西)前提就是上面提到的.
    用這個方法經測試成功.上傳OK!(注意不安全喲,不要用此做壞事喲,
    此源碼只做交流,請不要用于非法用途)

    大概寫一下流程:


    <HTML>
     
    <HEAD>
      
    <TITLE> 沖擊多個Input File賦值兼解決中文賦值問題 </TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    //簡化寫法
    function $(id)
    {
        
    return document.getElementById(id);
    }

    //崋值方法(就是將文本框的值賦值file對象)
    function set1()
    {
        
    //將text1中的值復制到剪貼板中
        window.clipboardData.setData('text',$('t1').value); 
        
    //創建Shell(需要添加到信任站點或解除未簽名的ActiveX控件的禁用
        var   WshShell=new   ActiveXObject("WScript.Shell");  
        
    //拿到焦點
        $('f1').focus();
        
    //Ctrl + A 操作
        WshShell.sendKeys("^a");
        
    //Ctrl + V 操作(sendKeys對于中文賦值操作顯得無力,所以只能模擬鍵盤操作)
        WshShell.sendKeys("^v");
    }


    function set2()
    {
        window.clipboardData.setData('text',$('t2').value); 
        
    var   WshShell=new   ActiveXObject("WScript.Shell");  
        $('f2').focus();
        WshShell.sendKeys(
    "^a");
        WshShell.sendKeys(
    "^v");
    }


    function set3()
    {
        window.clipboardData.setData('text',$('t3').value); 
        
    var   WshShell=new   ActiveXObject("WScript.Shell");  
        $('f3').focus();
        WshShell.sendKeys(
    "^a");
        WshShell.sendKeys(
    "^v");
    }


    function set4()
    {
        window.clipboardData.setData('text',$('t4').value); 
        
    var   WshShell=new   ActiveXObject("WScript.Shell");  
        $('f4').focus();
        WshShell.sendKeys(
    "^a");
        WshShell.sendKeys(
    "^v");
    }

    //給當前網頁中四個file對象賦值的方法
    function set()
    {
        
    //此處不要用循環,有幾個就需要寫幾個setXX方法
        setTimeout("set1()",0);
        setTimeout(
    "set2()",70);
        setTimeout(
    "set3()",240);
        setTimeout(
    "set4()",340);
    }

    //檢查是否賦值成功
    function check()
    {
        
    //檢查每個file對象是否為空 
        if($('f1').value.length > 0 && $('f2').value.length > 0 && $('f3').value.length > 0 && $('f4').value.length > 0 )
        
    {
            
    //檢查原對象的值的賦值對象的值是否相同
            if($('f1').value == $('t1').value && $('f2').value == $('t2').value && $('f3').value == $('t3').value && $('f4').value == $('t4').value)
            
    {
                
    return true;
            }

            
    else
            
    {
                
    return false;
            }

        }

        
    else
        
    {
            
    return false;
        }

    }

    //賦值和file對象的檢查
    function setValues()
    {
        
    if(!check())
        
    {
            set();
        }

    }

    //直接調用的賦值方法
    function callSet()
    {
        
    //一定要用setInterval,而不能用循環(循環太快,會造成所有的值賦在一個file對象上)
        setInterval('setValues()',1000);
    }


     
    </SCRIPT>
     
    </HEAD>

     
    <BODY>
        
    <input type=text value='c:\a好.jpg' id='t1' /> <br />
        
    <input type=text value='b:\b不好.jpg' id='t2'/> <br />
        
    <input type=text value='c:\c好.jpg' id='t3'/> <br />
        
    <input type=text value='d:\c很好.jpg' id='t4'/> <br />

        
    <input type=file id='f1'/> <br />
        
    <input type=file id='f2'/> <br />
        
    <input type=file id='f3'/> <br />
        
    <input type=file id='f4'/> <br />
        
        
    <input type='button' id='btn1' onclick='callSet();' value='測試'>
     
    </BODY>
    </HTML>


    posted on 2008-09-05 17:09 々上善若水々 閱讀(7338) 評論(8)  編輯  收藏

    評論

    # re: 沖擊多個Input File賦值兼解決中文賦值問題  回復  更多評論   

    好思路 多謝了 長久以來 我也在考慮這個問題 多謝!
    2008-09-08 15:22 | walnutprince

    # re: 沖擊多個Input File賦值兼解決中文賦值問題  回復  更多評論   

    賦值是成功了,但是無法submit,會拒絕訪問啊
    2008-09-22 17:29 | Nickol

    # re: 沖擊多個Input File賦值兼解決中文賦值問題  回復  更多評論   

    可以submit的。注意你安全設置問題。
    2008-09-23 13:46 | 々上善若水々

    # re: 沖擊多個Input File賦值兼解決中文賦值問題  回復  更多評論   

    賦值成功了,但是無法submit,提示拒絕訪問?? 請問如何進行安全配置?
    我已經將服務器IP加入 受信任站點 并將受信任站點的 安全級別設置為-低!!

    謝謝!!
    2009-03-31 17:03 | LCP

    # re: 沖擊多個Input File賦值兼解決中文賦值問題  回復  更多評論   

    @LCP
    在本地Internet中添加可信站點即可.
    2009-04-01 13:16 | 々上善若水々

    # re: 沖擊多個Input File賦值兼解決中文賦值問題  回復  更多評論   

    貌似IE8之后File標簽都不支持手動輸入了
    2012-12-24 13:43 | ant

    # re: 沖擊多個Input File賦值兼解決中文賦值問題  回復  更多評論   

    file類型只讀的,怎么實現粘貼的?
    2013-03-25 15:22 | nbuu

    # re: 沖擊多個Input File賦值兼解決中文賦值問題[未登錄]  回復  更多評論   

    我的只是焦點可以進去 為什么賦值會失敗...
    2014-11-09 11:07 |

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 你是我的城池营垒免费看 | 亚洲黄色片免费看| 久久亚洲国产欧洲精品一| 成人久久久观看免费毛片| 日韩精品电影一区亚洲| 另类图片亚洲校园小说区| 国产乱子伦精品免费无码专区| 亚洲精品精华液一区二区| 日本免费一本天堂在线| 男男gvh肉在线观看免费| 亚洲一级片免费看| 成全视频免费观看在线看| 久久亚洲精品成人av无码网站| 麻豆高清免费国产一区| 中文字幕无码精品亚洲资源网久久 | 亚洲熟妇无码AV| 日本一道一区二区免费看| 美女被吸屁股免费网站| 亚洲av无码国产精品色在线看不卡| 一级毛片a免费播放王色电影| 国产自偷亚洲精品页65页| 97视频免费观看2区| 亚洲色精品VR一区区三区| 国产亚洲精品免费| 国产无遮挡又黄又爽免费网站| 亚洲AV色香蕉一区二区| 67194成是人免费无码| 免费无码婬片aaa直播表情| 亚洲VA中文字幕无码毛片 | 成全视成人免费观看在线看 | 亚洲经典千人经典日产| 国产精品黄页在线播放免费| 久久精品国产亚洲AV未满十八| 国产亚洲成人久久| 亚洲视频在线免费播放| 国产亚洲午夜精品| 亚洲色四在线视频观看| 免费爱爱的视频太爽了| 久久精品成人免费看| 亚洲精华液一二三产区| 亚洲av无码一区二区三区乱子伦 |