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

JavaScript Discussion :

Input à afficher suivant données du prompt [Modif ancien sujet]


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut Input à afficher suivant données du prompt [Modif ancien sujet]
    Bonjour,

    avant tout je tiens à préciser que je n'ai jamais touché au javascript ^^ (mais html, css, php je connais). Bref.

    J'ai un formulaire où je rentre une adresse mail et une destination.
    Si la destination est une adresse mail alors je clique directement sur Valider.
    Si cette destination n'est pas une adresse mail, alors j'affiche un sous formulaire, que je remplis et ensuite je clique sur le bouton Valider (le même que ci dessus).

    Donc comment afficher ce sous formulaire tout en gardant le même bouton Valider à la fin ?

    J'ai cherché des pistes dans les FAQ et tutoriaux, mais rien ne m'a aidé ou vraiment correspondu (ou alors je suis passée à côté comme je n'y connais rien !).

    Voici un extrait 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
    // Si le champ destination n'est pas nul
    if ($_SESSION[dest] == NULL)
    {
    	return MessageBox("Vous devez saisir une destination !",3);
    }
    else
    {
    	if (!preg_match("#@#", $_SESSION['dest']))
    	{
    	        // Ici il faudrait que j'ai mon sous formulaire,  
                    // que les données à compléter s'affichent			
    	}
    	else
    	{
    		// Les données correspondantes à la requête envoyée
                    // une fois qu'on appuie sur valider
    	}
    }
    Maintenant, si vous voyez une meilleure solution à ce que j'ai fait, je vous écoute =)
    Et si non merci d'avance pour l'aide !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Direction la FAQ ...
    style.display bascule de none à block sur un fieldset par exemple
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Je l'ai vu le style.display, mais je n'ai pas bien compris comment je devais écrire tout ça, la syntaxe exacte en fait :/

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    else
    {
    	if (!preg_match("#@#", $_SESSION['dest']))
    	{
    	        document.getElementById('idDuFieldSet').style.display="block";
    	}
    avec dans le form ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <fieldset id="idDuFieldSet" style="display:none" > 
    ...ici les champs complémentaires
    </fieldset>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Je te remercie pour cette réponse rapide SpaceFrog. Malheureusement, ça ne fonctionne pas dans mon programme, mais ça ne vient surement pas de la syntaxe donnée, mais de la façon de coder de l'entreprise où je suis (donc il va falloir que je demande comment qu'on fait pour accepter du JS dans nos programmes). Car j'ai une erreur sur le "=" entre le display et le block x)

    Donc merci pour ton aide !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Ha ben non désolé , tu es en train de melanger du php et du javascript !!!

    ton test là c'est du php !!!
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    j'ai vu comme solution d'utiliser un div, est-ce que ça pourrait marcher pour mon problème ?

    Ou y'a-t-il une solution php existante ?

  8. #8
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Une solution avec les include() en PHP :
    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
    <?php // Si le champ destination n'est pas nul
    if ($_SESSION[dest] == NULL)
    {
    	return MessageBox("Vous devez saisir une destination !",3);
    }
    else
    {
    	if (!preg_match("#@#", $_SESSION['dest']))
    	{
    	include('sousformulaire.php');	
    	}
    	else
    	{
    	include('tapagequiaffichelesdonnées.php') ;
    	}
    }
    ?>

  9. #9
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Merci pour cette solution, j'y avais déja un peu pensé, mais ça m'arrangerait d'avoir uniquement une seule page en fait :s

  10. #10
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Comme ceci alors :
    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
    <?php // Si le champ destination n'est pas nul
    if ($_SESSION[dest] == NULL)
    {
    	return MessageBox("Vous devez saisir une destination !",3);
    }
    else
    {
    	if (!preg_match("#@#", $_SESSION['dest']))
    	{
    	echo '<form name="sousformulaire" method="post" action="">';
    	echo '<input type="text" name="nom" id="nom">';
    	// etc ...................
     
    	}
    	else
    	{
    	//et ici la même chose en faisant toujours des echos 
    	}
    }
    ?>

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    alors il faut faire un echo du code des champs complémentaires ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (!preg_match("#@#", $_SESSION['dest']))
    	{
    	echo '<inuput type="text" name="one" />';	
    	echo '<inuput type="text" name="two" />';
    	}
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Non surtout pas de forms imbriqué !!!!!
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Citation Envoyé par baggie Voir le message
    Donc comment afficher ce sous formulaire tout en gardant le même bouton Valider à la fin ?
    Autant pour moi j'avais omis ce passage ...

  14. #14
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Si je fais des echo de mes nouveaux input type, mon bouton Valider va disparaitre et donc il faudrait que j'en refasse un, que je réécrive la requête d'insertion :s

    J'ai dit sous formulaire parce que je ne sais pas comment ça fonctionne exactement hein je veux juste afficher d'autres champs en plus si jamais je rentre autre chose qu'une adresse mail en destination.

    [EDIT] Je donne juste un truc en plus :
    j'ai mes deux champs et mon bouton valider. Si la destination est un email, le bouton valider fait directement la requête, sinon il affiche les autres champs.
    Est-ce vraiment possible que ce bouton Valider puisse, une fois les autres champs affichés, lancer la requête qu'il faut ? [/EDIT]

  15. #15
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    le code PHP que tu nous donne est bein à l'intérieur des balises de ton formulaire ...
    Donc comme nous te l'avons indiqué SpaceFrog et moi :
    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
    <?php // Si le champ destination n'est pas nul
    if ($_SESSION[dest] == NULL)
    {
    	return MessageBox("Vous devez saisir une destination !",3);
    }
    else
    {
    	if (!preg_match("#@#", $_SESSION['dest']))
    	{
    	echo '<input type="text" name="prenom" id="nom">';
    	echo '<input type="text" name="nom" id="nom">';
    	// etc ...................
     
    	}
    	else
    	{
    	//et ici la même chose en faisant toujours des echos 
    	}
    }
    ?>
    PS : c'est vrai que j'avais mis une balise <form> au début

  16. #16
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Sinon montre nous le code complet de ton formulaire ...

  17. #17
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Voici ce que j'ai :

    Un premier endroit où j'ai ceci (un champ email et un champ destination) :
    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
     
    <FORM ACTION='$_SERVER[PHP_SELF]' METHOD=GET name=fCrea>
    <TABLE>
    <TR><TD>
    	Login ou Email<BR>
    	<INPUT TYPE=TEXT NAME=fCreation VALUE='$_SESSION[rec]' DISABLED=TRUE>
    	</TD>
    </TR>
    <TR><TD>
    	Destination<BR>
            <INPUT TYPE=TEXT NAME=dest VALUE='$_SESSION[dest]'>
    	</TD>
    </TR>
    <TR><TD><BR>
    	<INPUT TYPE=SUBMIT VALUE=Valider>
    	</TD>
    </TR>
    </TABLE>
    </FORM>
    Quand je clique sur ce Valider là, il prend en compte la requête (là où j'ai marqué "les données qui vont bien") OU ALORS il affiche les champs supplémentaires.


    Le code où j'ai les tests des champs et les données pour la requête :
    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
     
    if (preg_match("#@#", $_SESSION['rec']))
    {
     
      if ($_SESSION[dest] == NULL)
      {
    	return MessageBox("Vous devez saisir une destination !",3);
      }
      else
      {
    	if (!preg_match("#@#", $_SESSION['dest']))
    	{
    		$H = <<<END
    		<TABLE><TR>
    		<TD>Email<BR><INPUT TYPE=TEXT VALUE=$_SESSION[rec] DISABLED=TRUE></TD>
    		<TD>Login<BR><INPUT TYPE=TEXT VALUE=$_SESSION[dest] DISABLED=TRUE></TD>
    		<TD>Password<BR><INPUT TYPE=TEXT></TD>
    		<TD>Nom<BR><INPUT TYPE=TEXT></TD>
    		</TR>
    		</TABLE>
    END;
    	return $H;				
            }
            else
            {
    	// Les données qui vont bien pour ma requete
    	}
      }			
    }

  18. #18
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Essaye ceci :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <FORM ACTION='$_SERVER[PHP_SELF]' METHOD=GET name=fCrea>
    <TABLE>
    <TR><TD>
    	Login ou Email<BR>
    	<INPUT TYPE=TEXT NAME=fCreation VALUE='$_SESSION[rec]' DISABLED=TRUE>
    	</TD>
    </TR>
    <TR><TD>
    	Destination<BR>
            <INPUT TYPE=TEXT NAME=dest VALUE='$_SESSION[dest]'>
    	</TD>
    </TR>
    <?php
    if (preg_match("#@#", $_SESSION['rec']))
    {
     
      if ($_SESSION[dest] == NULL)
      {
            return MessageBox("Vous devez saisir une destination !",3);
      }
      else
      {
            if (!preg_match("#@#", $_SESSION['dest']))
            {
                    echo '<TABLE><TR>';
                    echo '<TD>Email<BR><INPUT TYPE=TEXT VALUE=$_SESSION[rec] DISABLED=TRUE></TD>';
                    echo '<TD>Login<BR><INPUT TYPE=TEXT VALUE=$_SESSION[dest] DISABLED=TRUE></TD>';
                    echo '<TD>Password<BR><INPUT TYPE=TEXT></TD>';
                    echo '<TD>Nom<BR><INPUT TYPE=TEXT></TD>';
                    echo '</TR>';
                    echo '</TABLE>';
            }
            else
            {
            // Les données qui vont bien pour ma requete
            }
      }                     
    }
    ?>
    <TR><TD><BR>
    	<INPUT TYPE=SUBMIT VALUE=Valider>
    	</TD>
    </TR>
    </TABLE>
    </FORM>

  19. #19
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    La solution aurait pu convenir mais si j'ai séparé mes deux codes, c'est parce qu'ils ne sont pas au même endroit et que l'appui sur Valider (du premier code) déclenche le second code.

    J'avoue que c'était peut-être à préciser mieux, mais je pensais l'avoir dit dans le post suivant en disant "l'endroit" ><

  20. #20
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Tes codes sont-ils dans la même page ?
    Tes variables de session tu les créés à quel moment ?

Discussions similaires

  1. faire afficher des données suivant une selection
    Par pi-2r dans le forum Langage
    Réponses: 11
    Dernier message: 15/07/2011, 01h58
  2. Afficher les données des input dans un datagrig
    Par yanesty dans le forum Flex
    Réponses: 5
    Dernier message: 04/04/2011, 14h38
  3. <select> qui affiche des input different suivant la selection
    Par cirvent dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/10/2008, 18h52
  4. masquer/afficher input name suivant selection dans une liste
    Par rvm31 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/12/2007, 19h33
  5. Réponses: 10
    Dernier message: 30/07/2007, 18h42

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