Redirection aprés submit form

Résolu/Fermé
aicha - Modifié par jordane45 le 24/02/2015 à 12:00
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 24 févr. 2015 à 13:13
Bonjour,

je cherche a faire une redirection aprés submit form en javascript voila mon code
<form class="cart" enctype="multipart/form-data" method="post" id="basic" name="basic"><input name="add-to-cart" type="hidden" value="651" /></form>

<script type="text/JavaScript">
document.basic.submit();
document.location.href="http://test.com/?page_id=712"
</script> 

le probléme que ce code me redirige vers le site test.com sans faire le submit de la formulaire, Aide Svp

EDIT : Ajout des balises de code
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
24 févr. 2015 à 12:20
Bonjour,

Je ne comprend pas... tu veux faire une redirection APRES le submit ?
Il faut donc qu'en PHP tu regardes si les variables POST existent (et ainsi tu sais que le submit a été fait...)
Par contre... tu n'as pas de bouton de submit dans ton form... comment comptes tu le lancer ?


0
Merci jordane de m'avoir répondu, en fait j'ai pas le button submit parsq je veux faire la validation auto aprés un traitement
document.basic.submit();

le code au dessus fait la validation de la formulaire avec javascript mais si je met le code la redirection après cela ne s'exécute pas.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
24 févr. 2015 à 12:35
le code au dessus fait la validation de la formulaire avec javascript mais si je met le code la redirection après cela ne s'exécute pas.

Normal.. si tu submit .. la page se recharge... et ton script ne reprend pas là où il s'était arrété .. mais reprend au début...

A la limite .. c'est dans le code PHP du Submit que tu dois insérer ta redirection....

if (isset($_POST)){
// traitement de ton submit ..

//----

// redirection (en PHP) une fois le traitement terminé 
header('Location:http://test.com/?page_id=712'); 
}



Si la redirection en php ne fonctionne pas ( à cause de header par exemple...) tu peux le faire en javascript via un ECHO
echo '<script type="text/JavaScript">document.location.href="http://test.com/?page_id=712"</script>';
0
En fait de dois mettre tous le code sur cette page , voila ce que j'ai fais

<form class="cart" enctype="multipart/form-data" method="post" id="basic" name="basic"><input name="add-to-cart" type="hidden" value="651" /></form>
    <?php if (isset($_POST["add-to-cart"])){ 
    echo $_POST["add-to-cart"];
     echo '<script type="text/JavaScript">document.location.href="http://test.com/?page_id=712"</script>'; }
  else  {
   echo '<script type="text/JavaScript">document.basic.submit</script>'; 
      }
     ?>


ça n'a pas fonctionner, Merci encore .


EDIT : Ajout du langage dans les balises de code
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > aicha
Modifié par jordane45 le 24/02/2015 à 13:13
Il est censé faire quoi ton submit ?
de plus.. tu n'as indiqué aucune "ACTION" dans ton form ... il est préférable, même si c'est sur la même page d'en mettre un.

Que te donnes ceci ?
<?php
 if (isset($_POST["add-to-cart"])){ 
    echo $_POST["add-to-cart"];
     echo '<script type="text/javascript">
                alert("Submit effectue...\n redirection en cours...");
                document.location.href="http://test.com/?page_id=712";
             </script>'; 
 }

?>
<form action="" class="cart" enctype="multipart/form-data" method="post" id="basic" name="basic">
   <input name="add-to-cart" type="hidden" value="651" />
</form>
<script type="text/javascript">
 alert("Submit du formulaire....");
 document.basic.submit();
</script>
0
Merci énormément jordane45 , le code au dessus fonctionne très bien, j'ai juste oublier les parenthèse de la fonction submit(), Merci encore bon journée :)
0