1

現在、コードの 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>
4

0 に答える 0