<div class="codetitle"> <span><a style="CURSOR: pointer" data="26066" class="copybut" id="copybut26066" onclick="doCopy('code26066')"><u>コードをコピー</u></a></span> コードは次のとおりです:</div> <div class="codebody" id="code26066"> <br><!DOCTYPE html PUBLIC "-//W3C/ /DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <br><html xmlns="http://www.w3 .org/ 1999/xhtml"> <br><head> <br><meta http-equiv="Content-Type" content="text/html" /> <br>< title>テスト ファイルのアップロード</title> <br><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js "> ;</script> <br><script language="javascript" type="text/javascript"> <br>$(function(){ <br>//ShowFolderFileList("D:\CodeNet\ web\ Images\shopTemplets"); <br>}); <br>function ShowFolderFileList(FilePath){ <br>var fso, f, fc, sf; <br>fso = new ActiveXObject("Scripting.FileSystemObject"); <br>try{ <br>f = fso.GetFolder(FilePath); <br>}catch(err){ <br>alert("ファイル パスが間違っているか、存在しません!!"); false; <br> } <br>// すべてのファイルをリストします <br>fc = new Enumerator(f.files); <br>var fileName = "";fc .moveNext() ){ <br>fileName=fc.item().Name; <br>$('<div filePath="' FilePath ファイル名 '" UploadState="wait">' FilePath ファイル名 '</ div>') .appendTo('#showArea'); <br>} <br>// フォルダー内のファイルをループして再帰的に読み取ります <br>sf = new Enumerator(f.SubFolders); ""; <br>for(;!sf.atEnd();sf.moveNext()){ <br>フォルダ名 = sf.item().Name; <br>ShowFolderFileList(FilePath フォルダ名 "/"); >} <br> } <br>function startUpload(){ <br>var s = $('#uploaddir').val().replace( /\/gi, '/' ) ; .substring(s. length - 1 , s.length) != '/'){ <br>s = '/' <br>} <br>ShowFolderFileList(s) <br>uploadFile() <br>} <br>// アップロード <br>function UploadFile(){ <br>if($('#showArea div[uploadState=wait]').length > 0){ <br>var thisNode = $('#showArea div[uploadState=wait ]').eq(0) <br>var WshShell=new ActiveXObject("WScript.Shell") <br>$('#fileupload').focus(); ($(thisNode) .attr('filePath')); // どのパスも中国語ではありません <br>$('#fileupload').focus(); ('#fileupload' ).get(0).createTextRange().select(); <br>WshShell.SendKeys('{del}'); <br>var dotStr = '.'; <span>< ;/span>').appendTo(thisNode).css('color', 'green'); <br>var UploadState = setInterval(function(){ <br>if($(thisNode). attr('uploadState' ) == 'ok'){ <br>clearInterval(uploadState); <br>$(thisNode).find('span').css('color', 'red').text(' (完了)') ; <br>uploadFile(); <br>if(dotStr.length > 15){ dotStr = '.' } $(thisNode) .find('span').text('(Uploading' dotStr ')'); <br>} <br>}, 1000); iframe で返す ページ上でこの関数を呼び出して循環アップロードを実現します。それ以外の場合は無限ループになります。 <br>function UploadFinish(){ <br>$('#showArea div[uploadState=wait]').eq(0) .attr('uploadState ', 'ok'); <br></script> <br>body,td,th { フォントファミリー: "Microsoft Yahei"、Tahoma、Helvetica、Arial、5b8b4f53、サンセリフ; <br></style> <br></head> 🎜><フォームアクション="/a.html"メソッド="post"name="loginForm"style="margin:0 0;padding:0 0;"><br><input name="uploaddir" id="uploaddir " type="text" value="D:a" style="width:800px;" /> <br><input type="button" value="Start" id="startIt" name ="startIt" onclick="javascript:startUpload();"/> <br></form> <br><form action="/index/upload" method="post" name="uploadForm" ="multipart/ form-data" target="hidden_frame"> <br><input type="file" name="fileupload" id="fileupload" /><BR><iframe name='hidden_frame' id="hidden_frame " style='display:none'> <br></form> <br><div id="showArea"> ></div><br></body><br><br> </div>