Afficher popup à partir fichier 2 formulaires
Résolu/Fermé
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
-
Modifié le 9 avril 2020 à 17:33
danielos77 Messages postés 108 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 16 janvier 2024 - 10 avril 2020 à 08:20
danielos77 Messages postés 108 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 16 janvier 2024 - 10 avril 2020 à 08:20
A voir également:
- Afficher popup à partir fichier 2 formulaires
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier impossible à supprimer - Guide
2 réponses
Salut,
" La transmission des données dans la table se fait parfaitement."
C'est bien ça qui pose problème selon moi(pas testé le code)
Un formulaire sert à envoyer des données, vers un script la plupart du temps pour traiter ces données comme le système en a besoin.
Ici vous n'utilisez pas de bouton submit mais un bouton(ce qui revient au même tant que vous ne le précisez pas) et c'est donc l'envoi vers le destinataire qui prends le pas et indique en premier lieu de charger : "ce_meme_fichier.php"
à partir de là il n'existe plus de page contenant le formulaire et encore moins d script de popup , uniquement les données transmises et la page indiquée par l'attribut action.
Ce que pouvez et devez faire pour que cela puisse fonctionner c'est désactiver le comportement par défaut d'un formulaire qui le soumet/envoit lorsque le bouton fait pour est cliqué.
Passé par addEventListener (et non onclick ) ce qui sera toujours mieux, plus propre, plus clair et modulable pour attribuer une fonction qui va:
_lancer le popup
_valider le formulaire(l'envoyer)
A noter que vous feriez mieux de renoncer au popup. La plupart des navigateurs modernes vont les bloquer car ce sont dans la pratique des nuisances et contraire au normes du web qui incitent à indiquer tout le contenu dans une même page.
Éventuellement vous avez les fenêtres modales qui remplacent avantageusement un popup, cela met un affichage en superposition sur la page que l'on peut fermer quand on le désire.
A noter qu'il faudra ruser pour faire ce que vous voulez faire puisque le but d'un formulaire est d'envoyer des données et non d'afficher un contenu(avec AJAX ou validation à la fermeture le la fenêtre modale).
Le plus simple ne serait pas simplement de renvoyer vers une page de confirmation(ou pas) après le traitement des données? C'est ce qui se fait généralement et ce dont l'utilisateur à l'habitude donc autant faire comme ça...surtout que ça vous évite de complexifier(et donc du temps de travail) votre programme pour un moins bon résultat que ne pas le faire...
" La transmission des données dans la table se fait parfaitement."
C'est bien ça qui pose problème selon moi(pas testé le code)
Un formulaire sert à envoyer des données, vers un script la plupart du temps pour traiter ces données comme le système en a besoin.
Ici vous n'utilisez pas de bouton submit mais un bouton(ce qui revient au même tant que vous ne le précisez pas) et c'est donc l'envoi vers le destinataire qui prends le pas et indique en premier lieu de charger : "ce_meme_fichier.php"
à partir de là il n'existe plus de page contenant le formulaire et encore moins d script de popup , uniquement les données transmises et la page indiquée par l'attribut action.
Ce que pouvez et devez faire pour que cela puisse fonctionner c'est désactiver le comportement par défaut d'un formulaire qui le soumet/envoit lorsque le bouton fait pour est cliqué.
Passé par addEventListener (et non onclick ) ce qui sera toujours mieux, plus propre, plus clair et modulable pour attribuer une fonction qui va:
_lancer le popup
_valider le formulaire(l'envoyer)
A noter que vous feriez mieux de renoncer au popup. La plupart des navigateurs modernes vont les bloquer car ce sont dans la pratique des nuisances et contraire au normes du web qui incitent à indiquer tout le contenu dans une même page.
Éventuellement vous avez les fenêtres modales qui remplacent avantageusement un popup, cela met un affichage en superposition sur la page que l'on peut fermer quand on le désire.
A noter qu'il faudra ruser pour faire ce que vous voulez faire puisque le but d'un formulaire est d'envoyer des données et non d'afficher un contenu(avec AJAX ou validation à la fermeture le la fenêtre modale).
Le plus simple ne serait pas simplement de renvoyer vers une page de confirmation(ou pas) après le traitement des données? C'est ce qui se fait généralement et ce dont l'utilisateur à l'habitude donc autant faire comme ça...surtout que ça vous évite de complexifier(et donc du temps de travail) votre programme pour un moins bon résultat que ne pas le faire...
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
2
10 avril 2020 à 06:02
10 avril 2020 à 06:02
Bonjour,
En mettant en commentaire toute la partie qui doit afficher les variables, la popup s'affiche.
l'appel est donc bon.
La question devient donc :
Est-il possible d'afficher une popup avec des contenu de variables issues d'une page où il y a 2 formulaires en sachant que les noms des variables ne sont pas les mêmes dans les 2 formulaires ?
Daniel
--
En mettant en commentaire toute la partie qui doit afficher les variables, la popup s'affiche.
l'appel est donc bon.
La question devient donc :
Est-il possible d'afficher une popup avec des contenu de variables issues d'une page où il y a 2 formulaires en sachant que les noms des variables ne sont pas les mêmes dans les 2 formulaires ?
<script type="text/javascript"> function imprime() { w=open("",'popup','width=400,height=600,toolbar=no,scrollbars=auto,resizable=yes'); w.document.write("<BODY>"); w.document.write("RECAPITULATIF DE VOTRE DEMANDE"+"<BR><BR>"); /*w.document.write("Identifiant ANEG : "+document.forms["1"].elements["Num"].value+"<BR><BR>"); w.document.write("Nom Prénom : "+document.forms["1"].elements["Nom"].value+" "+document.forms["1"].elements["Prenom"].value+"<BR><BR>"); w.document.write("Téléphone : "+document.forms["1"].elements["Tph"].value+"<BR><BR>"); w.document.write("Mail : "+document.forms["1"].elements["Mail"].value+"<BR><BR>"); w.document.write("Réponse "OUI" au questionnaire santé : "+document.forms["1"].elements["QuestionnaireSante"].value+"<BR><BR>"); w.document.write("Date limite de validité de votre certificat médical : "+document.forms["1"].elements["DateCM"].value+"<BR><BR>"); w.document.write("Numéro Stage demandé : "+document.forms["1"].elements["NumStage"].value+"<BR><BR>"); w.document.write("Commentaires : "+document.forms["1"].elements["Commentaires"].value+"<BR><BR>"); */w.document.write("</BODY>"); w.document.close(); w.print(); } </script>
Daniel
--
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
2
10 avril 2020 à 06:14
10 avril 2020 à 06:14
C'est la ligne 10 (du dernier post) qui merdouille.
Celle correspondant à l'affichage de boutons radios !
Voici le code des boutons :
et la partie dans la popup :
Il faut certainement utiliser l'id et pas le name.. mais comment déclarer id1 ou id2 suivant ce qui est checké (on ne le sait pas à l'avance !)
Je vais aller voir mon ami google...
Celle correspondant à l'affichage de boutons radios !
Voici le code des boutons :
NON <input type="radio" name="QuestionnaireSante" id="QuestionnaireSante_NON" value="NON" size="18" /> OUI <input type="radio" name="QuestionnaireSante" id="QuestionnaireSante_OUI" value="OUI" size="18" checked />
et la partie dans la popup :
w.document.write("Réponse "OUI" au questionnaire santé : "+document.forms["1"].elements["QuestionnaireSante"].value+"<BR><BR>");
Il faut certainement utiliser l'id et pas le name.. mais comment déclarer id1 ou id2 suivant ce qui est checké (on ne le sait pas à l'avance !)
Je vais aller voir mon ami google...
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
2
>
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
10 avril 2020 à 08:20
10 avril 2020 à 08:20
Yeaahhh
Alors oui on peut afficher une popup à partir d'une page qui contient 2 formulaires.
Les boutons type radio ne posent aucun pb. Vous pouvez en avoir 1 de checked par défaut ou pas.
L'erreur qui empêchait la popup (ça ne peut être que féminin pour être si délicat ;-) de s'afficher était tout simplement un oubli d'échappement pour le "OUI" dans la partie texte de w.document.write...
il fallait :
au lieu de :
Résolu donc.
Alors oui on peut afficher une popup à partir d'une page qui contient 2 formulaires.
Les boutons type radio ne posent aucun pb. Vous pouvez en avoir 1 de checked par défaut ou pas.
L'erreur qui empêchait la popup (ça ne peut être que féminin pour être si délicat ;-) de s'afficher était tout simplement un oubli d'échappement pour le "OUI" dans la partie texte de w.document.write...
il fallait :
w.document.write("Réponse \"OUI\" au questionnaire santé : "+document.forms["1"].elements["QuestionnaireSante"].value+"<BR><BR>");
au lieu de :
w.document.write("Réponse "OUI" au questionnaire santé : "+document.forms["1"].elements["QuestionnaireSante"].value+"<BR><BR>");
Résolu donc.
9 avril 2020 à 20:51
Merci tout d'abord d'avoir pris un peu de temps pour me donner une réponse.
Sinon, lorsque je dis que les données sont bien transmises, c'est simplement que j'ai fait, dans un premier temps un test d'affichage des $_POST envoyés (en mettant en destinataire le même fichier avec l'affichage des résultats qui était OK). Ensuite même manipulation en changeant le fichier de destination (de même_fichier à fichier_de_transmission). A l'arrivée, les données sont bien là. Et pour finir, transmission vers la base où les données arrivent bien => donc le submit ne pose pas de pb et les données sont bien là.
Ensuite j'ai rajouté l'option de pouvoir voir et enregistrer les données avant (et je dis bien avant) de les envoyer.
Visualisation et enregistrement éventuel via la popup (qui ne s'ouvre pas et fait l'objet de ma demande).
Le bouton pour demander l'ouverture de la popup est un bouton "classique" et différent du submit qui lui est plus bas.
J'avais pas mis tout le code mais sinon, la fin de la page est, avec le bouton submit (qui ne pose pas de pb ) :
Et je me permet de rappeler que lorsque la page ne comportait qu'un seul formulaire, il était possible de visualiser (imprimer/enregistrer) les données dans la popup à partir du bouton "classique" et ensuite de les envoyer avec le bouton submit.
Je suis d'accord avec vous pour l'utilisation des popups mais quelle serait la possibilité de proposer à l'utilisateur un verbatim pour imprimer ou enregistrer les données qu'il va envoyer ?
Daniel