現在、コードの 3 つの部分が機能しています。
- n 個の名前を追加したいフォームがあります。
- 名前は配列に入れられます。
- ループは遅延を伴って配列を反復します
しかし、新しい名前を付けて繰り返しごとにフォームを送信したいと考えています。
フォームは常に最後の名前で送信されます (ターゲットは iframe) が、配列内のすべての名前に対してアラートが (遅延を伴って) ポップアップすることをデバッグ コメント アウト コードから確認できます。
<script>
function getUsers()
{
var separateUsers = document.getElementById("Requestors").value.split("\n");
//document.write(separateUsers[1]);
for (var i=0;i<separateUsers.length;i++)
{
sleep(400);
document.sendForm.userName.value = (separateUsers[i]);
//alert("Loop iteration "+separateUsers[i]+ " " +i+ " out of"+ i);
document.getElementById("sendForm").submit();
//document.write(sendForm.userName.value);
}
}
function sleep(ms)
{
var dt = new Date();
dt.setTime(dt.getTime() + ms);
while (new Date().getTime() < dt.getTime());
}
</script>
<form name ="sendForm" id="sendForm" action="form.php" method="post" enctype="multipart/form-data" target="theTarget">
<input type="hidden" name="userName" id="userName" value="" />
</form>
<form name ="initialForm">
<textarea name="Requestors" cols="10" rows="10" value= ""></textarea>
<input type="button" onclick="getUsers()" value="Submit" />
</form>
<iframe id="theTarget" name ="theTarget" ></iframe>