2011-05-09 5 views
2

J'ai testé le code javascript suivant sur une page Web.code javascript après la soumission du formulaire

<form method=POST id="someform" action="http://localhost/somepage.php" > 
<input type=hidden name=stuff value="value"> 
</form> 

<script> 
document.forms['someform'].submit(); 
window.location="http://google.com"; 
</script> 

La fenêtre redirige vers google une fois le formulaire envoyé. Je ne comprends pas pourquoi. Le contrôle n'est-il pas transféré à somepage.php? Pourquoi la fenêtre window.location ... est-elle toujours exécutée?

+0

Comment savez-vous qu'il est soumis? C'est à quoi ressemble mon code et le formulaire ne le soumet pas. J'ai entré des informations incorrectes dans les champs de carte de crédit et il devrait erreur lors de la soumission, mais il redirige vers la page que j'ai 'window.location' pointant vers. – jlg

+0

Si vous vérifiez vos outils de débogage, vous verrez "probablement" que le navigateur a fait deux requêtes. Un POST ou GET (en utilisant la fonctionnalité du formulaire) et un GET (le "redirect" en utilisant javascript). Je ne sais vraiment pas comment le navigateur décide quelle demande servir. – Victor

Répondre

2

Tout ce qui est appelé est exécuté alors que la page ne disparaît pas. L'appel submit() ne bloque pas l'exécution, il revient immédiatement.

Questions connexes