par
Ryle » 31 juil. 2007, 15:05
Le second formulaire n'aurait aucun intérêt, voire ferait perdre les données du principal lorsque l'on soumet uniquement le secondaire...
J'avions bien compris ton problème, et la solution php que je te propose (à savoir soumettre tout le formulaire, ne traiter que la partie "secondaire" si le bouton correspondant a été cliqué, et revenir au formulaire complet pour poursuivre la saisie en pré-renseignant les autres champs est sans conteste la solution en php)
Pour la solution javascript, tu as deux façon de faire en fait en fonction de ce que tu préfères. La première consiste à rajouter des lignes de formulaire dans ta page quand on clique sur ajouter (donc aucun traitement effectué, simplement ajouter des lignes de saisies) ce qui permet à l'utilisateur de remplir entièrement un seul et unique formulaire sans Remise A Zéro (RAZ) des champs et de ne valider qu'une fois le tout pour que tu le traites (tu n'aurais alors qu'à boucler sur les champs ajoutés dynamiquement pour récupérer leurs valeurs dans ton traitement actuel.
La seconde solution avec ajax a pour but d'envoyer certaines données au serveur pour qu'il effectue un traitement et renvoie le résultat à la page sans avoir besoin de la recharger (donc sans perdre les informations saisies dans les autres champs

)
Les principe d'Ajax se résume à deux fonctions : la première appelle une page du serveur et lui envoi les données (en get ou en post) pour qu'il fasse un traitement, comme si tu avais ouvert cette page directement dans ton navigateur. La seconde récupère le résultat affiché à l'écran par la page appellé. Tu peux ainsi faire afficher OK ou KO selon le résultat du traitement, ou passer bien d'autres informations.
Le principe consiste donc à envoyer en javascript les données "secondaires" du formulaire, effectuer ton traitement en php dessus, résupérer le résultat (OK) et vider les champs une fois terminé.
Voir ajax pour plus de détails

Le second formulaire n'aurait aucun intérêt, voire ferait perdre les données du principal lorsque l'on soumet uniquement le secondaire...
J'avions bien compris ton problème, et la solution php que je te propose (à savoir soumettre tout le formulaire, ne traiter que la partie "secondaire" si le bouton correspondant a été cliqué, et revenir au formulaire complet pour poursuivre la saisie en pré-renseignant les autres champs est sans conteste la solution en php)
Pour la solution javascript, tu as deux façon de faire en fait en fonction de ce que tu préfères. La première consiste à rajouter des lignes de formulaire dans ta page quand on clique sur ajouter (donc aucun traitement effectué, simplement ajouter des lignes de saisies) ce qui permet à l'utilisateur de remplir entièrement un seul et unique formulaire sans Remise A Zéro (RAZ) des champs et de ne valider qu'une fois le tout pour que tu le traites (tu n'aurais alors qu'à boucler sur les champs ajoutés dynamiquement pour récupérer leurs valeurs dans ton traitement actuel.
La seconde solution avec ajax a pour but d'envoyer certaines données au serveur pour qu'il effectue un traitement et renvoie le résultat à la page sans avoir besoin de la recharger (donc sans perdre les informations saisies dans les autres champs :))
Les principe d'Ajax se résume à deux fonctions : la première appelle une page du serveur et lui envoi les données (en get ou en post) pour qu'il fasse un traitement, comme si tu avais ouvert cette page directement dans ton navigateur. La seconde récupère le résultat affiché à l'écran par la page appellé. Tu peux ainsi faire afficher OK ou KO selon le résultat du traitement, ou passer bien d'autres informations.
Le principe consiste donc à envoyer en javascript les données "secondaires" du formulaire, effectuer ton traitement en php dessus, résupérer le résultat (OK) et vider les champs une fois terminé.
Voir ajax pour plus de détails :)