1
送信ボタンがあるフォームがあります。そして私はonclick = "foo(イベント、これ);提出の送信ボタンに入力します。Safariでajaxが成功した後にフォームを送信する方法
私はajaxの成功の後にフォームを提出したいと思います。
ここに私のコード:
<form id="form_a" action="destination.html">
<input type="submit" id="submit_button_1" value="Submit button 1" onclick="foo(event, this);">
</form>
<script type="text/javascript">
function foo(event, this_element)
{
event = event || window.event;
event_target = event.target || event.srcElement;
//Prevent the immediate submission because I want submit after ajax success :
event.preventDefault();
//Retrieve the submit button clicked :
if(this_element.id == "submit_button_1")
{
//Submit the form afer ajax success :
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
//Retrieve the form object to submit :
form_a = document.getElementById("form_a");
//Submit the form 3000 ms later :
setTimeout('form_a.submit();', 3000);
}
}
//Send ajax request on server :
xhr.open("POST", "server.php", false);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send("");
}
}
</script>
このコードは、Safariで動作しません。どのようにサファリでajaxの成功の後にフォームを提出するのですか?
ありがとうございますが、サファリでは動作しません。 – totoaussi
私はサファリ9.0.3を使用していて、正常に動作します。 URバージョンの問題かもしれません。 'form_a = document.getElementById(" form_a ");'にデバッガを置き、実行したかどうかを確認します。 – Panther
はい私はサファリ5.1.7を使用します。あなたはサファリ5でそれを試してみて、私を確認できますか? – totoaussi