0

こんにちは、jszip を使用したループで問題が発生しています。これはテキストを置き換えるためのもので、1000 個以上のファイルを作成する予定です。私が望むのは、それぞれに番号 i++ を追加し、zip 内の別のテキスト ファイルに保存することです。しかし、今私のコードはこのようなもので、入力テキストを含む最後のファイルのみが表示されます-助けてください

zip.add が各バリエーションをループするようにしたいのですが、入力全体 + 数値ではなく数値のみを書き込みます

HTML:

<script type="text/javascript" src="jszip.js"></script>
<form>
<label> Enter Block of text </label>
<textarea id="inp" name="original"></textarea>
<label> Here is your result </label> 
<textarea id="out" name="result"></textarea>

<label> Enter string to replace </label> <br>
<input type="text" id="ori" name="string"></input>
<label> Enter what to replace it with </label> 
<input type="text" id="new" name="replace"></input>
<input type="button" onClick="getin()" value="Click for result">
<input id="button" type="button" onClick="getzip()" value="Create Zip">    </input> </form>

ジャバスクリプト:

var zip = new JSZip();

for (var i = 1; i < 100; i++) {
    getin(i) 
    }

function getin() {
    var old = document.getElementById("ori").value;
    var reg = new RegExp(old, "gim" );
    var e = document.getElementById("new").value;
    var str1, str2;
    str1 = document.getElementById("inp").value;
    if (str1 == "") {null;}
    var end = str1.replace (reg, e+i);
    document.getElementById("out").value = end;
     zip.add("output"+i+".txt", end+"\n")
    }

    function getzip ()     {
    content=zip.generate();
    location.href="data:application/zip;base64,"+content;   
}
4

1 に答える 1