Envoyer un formulaire sur une page php (Expert) |
Répondre |
Auteur |
Sujet Recherche Options des sujets
|
Isa OE
Admin Group Depuis le: 13 Sep 2006 Status: Inactif Points: 798 |
Options des messages
Thanks(0)
Envoyé : 21 Nov 2011 à 20:19 |
Utiliser le script javascript suivant pour lancer le submit du form sur votre page (à mettre dans un bloc de script masqué):
$(document).ready(function() { var ButtonSubmit = $("#*IDBouton"); if (ButtonSubmit.size() < 1) { return } ButtonSubmit.click(function(e) { $('#XForm').attr("action","test.php"); $('#XForm').submit(); }); }); #IDBouton étant l'identifiant de votre bouton test.php : la page de traitrement |
|
clah
Newbie Depuis le: 12 Jan 2012 Pays: France Status: Inactif Points: 19 |
Options des messages
Thanks(0)
|
Bonjour,
Le script que vous proposez n'est pas compatible avec toutes les versions d'Internet Explorer. J'ai pu résoudre le problème comme ceci pour ne pas rencontrer une page blanche : "Page web expirée " Pour IE 8, il faut écrire var ButtonSubmit = $("#IDBouton"); et avec toutes les autres version IE et navigateurs var ButtonSubmit = $("IDBouton"); Peux être existe t'il une autre solution ? Cordialement Voici un exemple : <?php function ieversion() { ereg('MSIE ([0-9]\.[0-9])',$_SERVER['HTTP_USER_AGENT'],$reg); if(!isset($reg[1])) { return -1; } else { return floatval($reg[1]); } } echo '<script type="text/javascript"> $(document).ready(function() {'; if (ieversion() == 8) { echo 'var ButtonSubmit = $("#IDBouton");'; } else { echo 'var ButtonSubmit = $("IDBouton");'; } echo'if (ButtonSubmit.size() < 1) { return } ButtonSubmit.click(function(e) { $(\'#XForm\').attr("action","test.php"); $(\'#XForm\').submit(); }); }); </script>'; ?> Sinon avez vous une autre solution ? Cordialement |
|
Isa OE
Admin Group Depuis le: 13 Sep 2006 Status: Inactif Points: 798 |
Options des messages
Thanks(0)
|
Bonjour,
Pourquoi écrire le javascript en php, vous pouvez l'écrire directement non? |
|
clah
Newbie Depuis le: 12 Jan 2012 Pays: France Status: Inactif Points: 19 |
Options des messages
Thanks(0)
|
Simplement parce que j'ai regroupé le javascript avec une fonction PHP dans le
même bloc de code masqué.
|
|
Isa OE
Admin Group Depuis le: 13 Sep 2006 Status: Inactif Points: 798 |
Options des messages
Thanks(0)
|
Bonjour,
Autre solution plus simple : $(document).ready(function() { $Form=$("#XForm"); $Form.attr("action","URLENVOI"); $Form.attr("method","get"); $Form.attr("target","_blank"); }); URLENVOI = URL Cible get = get ou post _blank = ouverture dans une nouvelle page, sinon supprimer la ligne |
|
j74
Senior Member Depuis le: 25 Juil 2010 Status: Inactif Points: 110 |
Options des messages
Thanks(0)
|
Bonjour,
J'ai du mal avec cette procédure... J'ai un formulaire avec des champs "message", "nom" et "e-mail", que j'aimerais envoyer sur une page "guestbook.php" (qui edite un fichier texte "guestbook.txt", pour etre affiché sur mon site). J'ai donc mis le HiddenScript que vous donné sur ma page de formulaire (où WEa435440607 est l'ID de mon bouton ENVOYER) $(document).ready(function() { var ButtonSubmit = $("#WEa435440607"); if (ButtonSubmit.size() < 1) { return } ButtonSubmit.click(function(e) { $('#XForm').attr("action","guestbook.php"); $('#XForm').submit(); }); }); La page guestbook.php met en forme les données, ouvre et écrit dans le fichier "gestbook.txt" : <?php $filename = "guestbook.txt"; $ini_handle = fopen($filename, "r"); $ini_contents = fread($ini_handle, filesize($filename)); fclose($ini_handle); //On convertit les caracteres html $nom = htmlspecialchars($_POST['WEc1576e5996']); $mail = htmlspecialchars($_POST['WE131d9f3144']); $message = stripslashes(nl2br(htmlspecialchars($_POST['WEc71c07c937']))); $d = date ( "d/m/Y H:i:s" ); $page = ""; $lemail = "<a href=\"mailto:$mail\">$mail</a>"; $page = "<b>$nom</b> (".$lemail.") - $d<br>$message<br><hr>\n"; //écrit les nouvelles données, à la suite des anciennes $fp = fopen($filename, "w+"); $writestring = "$page" . $ini_contents; fwrite($fp, $writestring); //fermeture du fichier fclose($fp); exit; ?> Malheureusement, rien ne se passe quand je clique sur le bouton "envoyer" de mon formulaire... Je ne maitrise pas le javascript, ni le php... mais j'ai réussi tant bien que mal à faire fonctionner ce genre de script sous Izispot, donc je pensais pouvoir l'adapter à OpenElement... Avez-vous une idée pour me dépanner ? Par avance, merci ! Edité par j74 - 28 Mai 2013 à 17:39 |
|
Isa OE
Admin Group Depuis le: 13 Sep 2006 Status: Inactif Points: 798 |
Options des messages
Thanks(0)
|
Bonjour,
le script suivant est obsolète : $(document).ready(function() { var ButtonSubmit = $("#WEa435440607"); if (ButtonSubmit.size() < 1) { return } ButtonSubmit.click(function(e) { $('#XForm').attr("action","guestbook.php"); $('#XForm').submit(); }); }); Vous devez utiliser l’élément : redirection du formulaire |
|
j74
Senior Member Depuis le: 25 Juil 2010 Status: Inactif Points: 110 |
Options des messages
Thanks(0)
|
Bonsoir Isa,
Merci pour votre réponse, ça marche bien maintenant avec la redirection du formulaire vers le fichier "guestbook.php" !
Par contre, savez vous s'il est possible de retourner vers la page du formulaire (la page précédente, puisque mon script "guestbook.php" affiche une page blanche)... par une commande php à la fin de "guestbook.php" une fois qu'il a fini son boulot, peut-être ?
par avance, merci ! Edité par j74 - 28 Mai 2013 à 17:52 |
|
Isa OE
Admin Group Depuis le: 13 Sep 2006 Status: Inactif Points: 798 |
Options des messages
Thanks(0)
|
http://www.developpez.net/forums/d744574/php/langage/syntaxe/redirection-utilier-header/
|
|
j74
Senior Member Depuis le: 25 Juil 2010 Status: Inactif Points: 110 |
Options des messages
Thanks(0)
|
Merci Isa !
|
|
Répondre | |
Tweet
|
Aller au Forum | Permissions du forum Vous ne pouvez pas écrire un nouveau Sujet Vous ne pouvez pas répondre aux Sujets Vous ne pouvez pas effacer vos messages Vous ne pouvez pas éditer vos messages Vous ne pouvez pas créer des sondages Vous ne pouvez pas voter dans les sondages |