IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] A l'aide/Formulaire manquant


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut [PHP-JS] A l'aide/Formulaire manquant
    Bonjour,

    J'ai un formulaire qui consiste de pleins de champs de texte et des listes deroulantes.

    Mon probleme est le suivant :

    - J'ai un champ texte suivi par 7 listes deroulantes liées entre elles, puis 3 champs de texte ... Quand j'ecris quelque chose dans le 1er champ texte et je vais un choix parmi la liste deroulante suivante, ce qui est ecrit dans le champ texte n'est plus là.
    Voilà une partie de mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <form name="form1" method="post" action="passer_commande.php?id_soc=<? echo $id_soc?>&pays=<? echo $pays?>&soc_org=<? echo $soc_org?>&ser_lab=<? echo $ser_lab?>&ville=<? echo $ville?>&cp=<? echo $cp?>&tel=<? echo $tel?>&fax=<? echo $fax?>&id=<? echo $id?>">
    <table width="60%" border=1 align="center" cellpadding=7 cellspacing=0 bordercolor="#AODOFF" bgcolor="white">
        <tr>
          <th><div align="left">Num&eacute;ro Commande </div></th>
          <th><input type="text" name="numero" style="width:250px"></th>
        </tr>
        <tr>
    		<th><div align="left">Source<? echo ' test '.@$_GET["numero"]." ".@$_POST["numero"]?></div></th>
    		<th><select name="source" onChange="location.href='commander.php?id=<? echo $id?>&id_soc=<? echo $id_soc?>&ville=<? echo $ville?>&soc_org=<? echo $soc_org?>&ser_lab=<? echo $ser_lab?>&cp=<? echo $cp?>&tel=<? echo $tel?>&fax=<? echo $fax?>&pays=<? echo $pays?>&source='+this.options[selectedIndex].value" style="width:250px">
    			<option value="0" selected="selected">Choisir..</option>
    			<option value="Bon Commande"<?
    			if(isset($_GET["source"]))
    			{
    				if($_GET["source"]=='Bon Commande')
    				{
    			?> selected="selected"<?
    				}
    			}
    			?>>Bon de Commande</option>
    			<option value="Action Tel"<?
    			if(isset($_GET["source"]))
    			{
    				if($_GET["source"]=='Action Tel')
    				{
    			?> selected="selected"<?
    				}
    			}
    			?>>Action Telephonique</option>
    		</select>		</th>
        </tr>......
    Alors que moi je dois toujours avoir la valeur du champ dans son emplacement.
    Je ne sais pas quoi faire ni comment!!
    Merci pour votre aide.
    « Seuls vos vrais amis savent où vous frappez pour que ça fasse mal. » - Bernard Werber

  2. #2
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Mais pourquoi fais tu un rechargement complet de la page sur ton onChange?

  3. #3
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Y a t il un demi rechargement???
    Je vous ai dit que mes listes deroulantes sont liées entre elles. Je fais un choix depuis la 1ere liste, la 2eme est remplie, je fais un choix depuis la 2eme, la 3eme est remplie...
    Comment je peux pas faire un rechargement complet?? Si vous avez une autre solution je suis preneuse.
    Merci
    « Seuls vos vrais amis savent où vous frappez pour que ça fasse mal. » - Bernard Werber

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    AJAX XmlHttpRequest
    Exemples données aussi sur ce forum
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  5. #5
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Garder les valeurs de mes champs pendant le rechargement des listes ne peut pas etre fait sans l'utilisation de AJAX??
    « Seuls vos vrais amis savent où vous frappez pour que ça fasse mal. » - Bernard Werber

  6. #6
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Si
    Avec un langage serveur...
    Mais faut faire cela au cas par cas...
    Exemple PHP (Je connais mal PHP, donc faut voir si la synthaxe est correcte)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="test" value="<?php echo ($test); ?>" />
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  7. #7
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Je sais pas si je suis claire dans ma question
    Bon je vais essayer de refaire ma conception pour le formulaire.
    Merci pour vos reponses
    « Seuls vos vrais amis savent où vous frappez pour que ça fasse mal. » - Bernard Werber

  8. #8
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    essaie de remplacer ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <select name="source" onChange="location.href='commander.php?id=<? echo $id?>&id_soc=<? echo $id_soc?>&ville=<? echo $ville?>&soc_org=<? echo $soc_org?>&ser_lab=<? echo $ser_lab?>&cp=<? echo $cp?>&tel=<? echo $tel?>&fax=<? echo $fax?>&pays=<? echo $pays?>&source='+this.options[selectedIndex].value" style="width:250px">
    			<option value="0" selected="selected">Choisir..</option>
    			<option value="Bon Commande"<?
    			if(isset($_GET["source"]))
    			{
    				if($_GET["source"]=='Bon Commande')
    				{
    			?> selected="selected"<?
    				}
    			}
    			?>>Bon de Commande</option>
    			<option value="Action Tel"<?
    			if(isset($_GET["source"]))
    			{
    				if($_GET["source"]=='Action Tel')
    				{
    			?> selected="selected"<?
    				}
    			}
    			?>>Action Telephonique</option>
    		</select>
    par ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <select name="source" onChange="location.href='commander.php?id=<? echo $id?>&id_soc=<? echo $id_soc?>&ville=<? echo $ville?>&soc_org=<? echo $soc_org?>&ser_lab=<? echo $ser_lab?>&cp=<? echo $cp?>&tel=<? echo $tel?>&fax=<? echo $fax?>&pays=<? echo $pays?>&source='+this.options[selectedIndex].value" style="width:250px">
    <?
    	$source = $_GET["source"];
    	$html= '<option value="0"';
    	if($source == "") $html .= ' selected';
    	$html .= '>Choisir..</option>'
    		. '<option value="Bon Commande";
    	if($source == 'Bon Commande') $html .= ' selected';
    	$html .= '>Bon de Commande</option>'
    		. '<option value="Action Tel"';
    	if($source=='Action Tel') $html .= ' selected';
    	$html .= '>Action Telephonique</option>'
    		. '</select>';
    	echo $html;
    A mon avis, ça devrait mieux fonctionner.

    Astuce du jour: prends l'habitude de regarder le code html qui est géneré depuis ton navigateur, ça aide à détecter les erreurs.

    Dans ton cas, le selected="selected" s'affichait pour toutes les balises option, cas il se trouvait a l'extérieur des balises php <? et ?> et il faut écrire juste selected et non selected="selected".

    Fremy ajax c'est un peu le mot magique du moment, et pas tout à fait à tort car ça permet d'améliorer pas mal de processus. Bien que la techno soit utilisable dans le cas qui nous intéresse, au vu des erreurs contenues dans le code qui nous est proposé, je dirais qu'en proposant ajax, tu vas plus lui compliquer la vie que le lui simplifier, tu ne crois pas?

  9. #9
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Lol, on est sur le forum JavaScript, alors je propose une solution JavaScript
    J'ai jamais prétendu que je savais corriger du code PHP...
    Quoique en effet, si tu peux corriger le PHP, c'est encore mieux !
    Je répondais à la question :
    Y a t il un demi rechargement???
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  10. #10
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Très justement remarqué, et hop! Nous voici dans le forum PHP

  11. #11
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  12. #12
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Mais je vois pas le rapport qu'elle soit une question dans le forum php. mon probleme etait simple : prendre en consideration les valeurs du champ de texte lors du chargement de ma liste deroulante.
    Comment ça peut etre une question en php
    Désolée mais je vois pas le rapport, veuillez me l expliquer. Merci d'avance
    « Seuls vos vrais amis savent où vous frappez pour que ça fasse mal. » - Bernard Werber

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 40
    Points
    40
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $numero = '';
    if (!isset($_POST["numero"]))
    {
      $numero = $_POST["numero"];
    }
     
    <input type="text" name="numero" value="<?php echo $numero ?>" style="width:250px"></th>
    par exemple non ? ou GET à la place de POST ...

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 40
    Points
    40
    Par défaut
    j'oubliais
    je préfère quand même ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="document.form1.submit();"
    plutôt qu'un truc genre "reload" de la page
    par contre faut modifier l'action du formulaire en le rechargeant sur lui même faire les tests de ce qui est soumis afficher ou réafficher le formulaire si besoin, traiter les données soumises puis rediriger vers la suite
    non ?

  15. #15
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par kagura
    Mais je vois pas le rapport qu'elle soit une question dans le forum php. mon probleme etait simple : prendre en consideration les valeurs du champ de texte lors du chargement de ma liste deroulante.
    Comment ça peut etre une question en php
    Désolée mais je vois pas le rapport, veuillez me l expliquer. Merci d'avance
    Le rapport avec php c'est que c'est là que résidait ton erreur...

    As-tu lu ma réponse? et essayé le code proposé?

  16. #16
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Bonjour,
    J'ai trouvé une autre solution. J'ai decoupé le formulaire en 3 etapes et j'ai fait d'autres modifications pour ne pas tomber dans des cas comme ça.
    Merci pour vous tous et pour vos réponses
    « Seuls vos vrais amis savent où vous frappez pour que ça fasse mal. » - Bernard Werber

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide formulaire HTML/PHP
    Par ovcrash dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2011, 00h16
  2. aide formulaire php
    Par aminefathi dans le forum Langage
    Réponses: 14
    Dernier message: 16/11/2010, 19h50
  3. [PHP-JS] besoin d'aide pour menu déroulant avec lien
    Par Damarus dans le forum Langage
    Réponses: 3
    Dernier message: 06/10/2005, 18h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo