こんにちは、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;
}