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

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

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

    我的漫漫程序之旅

    專注于JavaWeb開發(fā)
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數(shù)據(jù)加載中……

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

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

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

    大概寫一下流程:


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

    //崋值方法(就是將文本框的值賦值file對象)
    function set1()
    {
        
    //將text1中的值復(fù)制到剪貼板中
        window.clipboardData.setData('text',$('t1').value); 
        
    //創(chuàng)建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");
    }

    //給當(dāng)前網(wǎng)頁中四個file對象賦值的方法
    function set()
    {
        
    //此處不要用循環(huán),有幾個就需要寫幾個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();
        }

    }

    //直接調(diào)用的賦值方法
    function callSet()
    {
        
    //一定要用setInterval,而不能用循環(huán)(循環(huán)太快,會造成所有的值賦在一個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 々上善若水々 閱讀(7347) 評論(8)  編輯  收藏

    評論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品在线免费观看| www.亚洲色图.com| 国产成人精品免费视频大| 久久成人a毛片免费观看网站| 久久www免费人成看国产片| 国产美女视频免费观看的网站| 老司机福利在线免费观看| 色多多A级毛片免费看| 四虎精品成人免费视频| v片免费在线观看| 成人自慰女黄网站免费大全| 永久免费观看黄网站| xxxxx做受大片在线观看免费| 日产久久强奸免费的看| h片在线播放免费高清| 99在线免费视频| 欧洲精品99毛片免费高清观看| 国产三级在线免费| 无码午夜成人1000部免费视频| 中文字幕在线观看免费视频 | 久久精品a亚洲国产v高清不卡| 亚洲人成伊人成综合网久久久| 亚洲成A∨人片在线观看不卡| 亚洲日本中文字幕| 亚洲av无码久久忘忧草| 久久精品国产亚洲AV未满十八| 特级做a爰片毛片免费看| 成人黄网站片免费视频| 久久久久av无码免费网| 成人免费无遮挡无码黄漫视频| 国产成人免费全部网站 | 日本免费中文视频| 亚洲黄色片免费看| 成人人观看的免费毛片| 五月婷婷亚洲综合| 亚洲AV无码不卡无码| 精品亚洲456在线播放| 香蕉97碰碰视频免费| 在线播放免费人成毛片乱码| ww在线观视频免费观看| 国产免费小视频在线观看|