Page 1 sur 2
Sauvegarde d'un formulaire en fichier
Posté : 13 sept. 2012, 00:33
par philspain
Bonjour à tous ...
Comme ce forum m'a déjà bien dépanné (merci à tous les pro qui prennent le temps de répondre) j'ai encore une petite question:
Je voudrais sauvegarder un formulaire sur le PC client dans un format de style 'snapshot' ... ou autre
J'ai un mis bouton JavaScript qui me permet de l'imprimer : <input type="button" value="Imprimer" onClick="JavaScript:print();" name="button" /> et le résultat sur l'imprimante correspond assez bien à ce qu'il y a sur l'écran.
Ma question:
Y-a-t'il moyen de faire la même chose mais avec un bouton qui proposerait le téléchargement d'un fichier qui contiendrait mon formulaire avec sa mise en forme ? (donc pas uniquement les champs sous format txt)
Merci d'avance
Philippe
Re: Sauvegarde d'un formulaire en fichier
Posté : 13 sept. 2012, 06:41
par schim59
Bonjour,
JEsuis pas un pro, mais peut être :
Créer un fichier (txt, pdf..) et proposer le download.
Re: Sauvegarde d'un formulaire en fichier
Posté : 13 sept. 2012, 09:00
par xTG
Tu peux faire en sorte d'inclure tous tes styles et code javascript dans ton fichier HTML :
<html>
<head>
<style>
.uneClass {
color: #000;
}
</style>
<script type="text/javascript">
alert('script js');
</script>
</head>
<body>
Test
</body>
</html>
Ainsi qu'un seul fichier ne sera enregistré et il contiendra tout.
Re: Sauvegarde d'un formulaire en fichier
Posté : 13 sept. 2012, 14:57
par philspain
Tu peux faire en sorte d'inclure tous tes styles et code javascript dans ton fichier HTML :
<html>
<head>
<style>
.uneClass {
color: #000;
}
</style>
<script type="text/javascript">
alert('script js');
</script>
</head>
<body>
Test
</body>
</html>
Ainsi qu'un seul fichier ne sera enregistré et il contiendra tout.
Merci mais comment je fais pour proposer le download ?
Re: Sauvegarde d'un formulaire en fichier
Posté : 13 sept. 2012, 15:32
par xTG
Avec header() il doit y avoir moyen d'utiliser une entête pour forcer le téléchargement.
Mais j'avoue que c'est pas ma tasse de thé, d'autant plus qu'il me semble logique que l'interprétation des headers est à la charge du navigateur.
Donc si le navigateur décide d'afficher le fichier (comme les fichiers .txt par exemple) à la place d'ouvrir la box de téléchargement tu n'y peux pas grand chose...
Re: Sauvegarde d'un formulaire en fichier
Posté : 13 sept. 2012, 15:41
par philspain
Merci xTG ...
Effectivement, j'ai testé avec Firefox et il ne fait qu'afficher le contenu ... pas de proposition de téléchargement.
Je crois qu'on pourrait contourner le problème en créant un fichier et ensuite via un autre lien le proposer en téléchargement mais comme je veux faire un truc simple pour le visiteur du site, on laisse tomber ... il peut déjà imprimer, ce sera suffisant.
Merci pour les réponses en tout cas.
Je vais encore un peu laisser le sujet ouvert un jour ou deux ... on ne sait jamais ...
Philippe
Re: Sauvegarde d'un formulaire en fichier
Posté : 13 sept. 2012, 16:42
par xTG
Une idée qui me vient...
Un fichier html est interprété de par son extension dans un navigateur.
Mais le téléchargement se fait via le type mime.
Donc à tester de lui envoyer un header indiquant un mime octet/stream (ou un truc du genre) pour voir s'il propose le téléchargement.
Re: Sauvegarde d'un formulaire en fichier
Posté : 14 sept. 2012, 21:11
par philspain
Merci ...
J'ai testé mais ça ne marche pas non plus ... mais ce n'est pas grave.
Avec le bouton <Imprimer> il est possible lors de la sélection de l'imprimante de choisir l'option 'imprimer dans un fichier' qui va créer un prn.
Le client saura se débrouiller avec ça.
Merci en tout cas.
Tant que j'y suis, j'ai une autre question à laquelle tu saurais peut-être répondre:
Comment puis-je désactiver la fonction <ENTREE> sur une page formulaire ?
Si on est dans une zone de saisie et qu'on appuie sur <Entrée> au lieu de la tabulation pour passer à la zone suivante, ça active la fonction <input type="submit" value="Envoyer" name="submit" /> !!!!
Si le formulaire n'est pas complet, la page de traitement envoie un formulaire incomplet et ça oblige le client à recommencer le tout ... et c'est assez lourd.
Est-ce que je poste un nouveau topic pour ça ?
Merci
Philippe
Re: Sauvegarde d'un formulaire en fichier
Posté : 14 sept. 2012, 21:17
par schim59
En enlevant les balises form peut être.
Re: Sauvegarde d'un formulaire en fichier
Posté : 14 sept. 2012, 21:22
par philspain
En enlevant les balises form peut être.
???? si j'enlève les balises <form name="formfree" method="post" action="_traitementfull.php"> ..... </form> ça ne sera plus un formulaire et je ne saurais pas l'envoyer vers ma page de traitement, non ????
Re: Sauvegarde d'un formulaire en fichier
Posté : 14 sept. 2012, 21:25
par schim59
Y à d autre moyen(ajax). Mais je pense pas que ce soit la solution
Re: Sauvegarde d'un formulaire en fichier
Posté : 14 sept. 2012, 21:30
par philspain
Y à d autre moyen(ajax). Mais je pense pas que ce soit la solution
Je suis déjà pas une pointure en PHP mais alors en JS, je suis en-dessous de nul ...
Tu as une idée pour une solution ? (ou une piste) ...
Merci en tout cas
Philippe
Re: Sauvegarde d'un formulaire en fichier
Posté : 14 sept. 2012, 21:40
par moogli
réponse plus exacte :
EN javascript, pas besoin de requete serveur pour ça !
je te conseil aussi de simplement prévoir ce cas et de retourner le formulaire pré remplis avec ce qui a déja été tapé et indiquer un message d'erreur pour faire propre
@+
Re: Sauvegarde d'un formulaire en fichier
Posté : 14 sept. 2012, 21:41
par philspain
J'ai trouvé !!! Google est ton ami ...
J'ai remplacé
<input type="submit" value="Envoyer" name="submit" />
par
<INPUT type="button" value="Envoyer" onClick="document.formfull.submit();">
ça roule ...
Merci en tout cas
Re: Sauvegarde d'un formulaire en fichier
Posté : 14 sept. 2012, 21:47
par philspain
réponse plus exacte :
EN javascript, pas besoin de requete serveur pour ça !
je te conseil aussi de simplement prévoir ce cas et de retourner le formulaire pré remplis avec ce qui a déja été tapé et indiquer un message d'erreur pour faire propre
@+
Merci ...
J'ai déjà mes champs obligatoires avec ma fonction de contrôle dans ma page de traitement
Par contre, ce qui m'intéresse beaucoup est de savoir comment faire pour sauvegarder le formulaire pré-rempli en cas d'erreur.
Chez moi, s'il y a une erreur, je renvoie vers ma page originale (formulaire) avec une variable texte correspondant à l'erreur mais le formulaire est vide !!!
Il y a moyen de reprendre les champs déjà remplis ?
Merci