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

AJAX Discussion :

[AJAX] Création de formulaire selon un input


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Par défaut [AJAX] Création de formulaire selon un input
    Bonjour j'aimerai votre avis sur ce que je veux mettre en place

    J'ai un bête champ de formulaire

    page formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <INPUT type="text" id="num_rencontre_recherche" onChange "rechercheRencontre()">
    1ère question : Est-il w3c correct de laisser un champ comme cela?

    rechercheRencontre() va chercher le niveau de la rencontre grâce une requête mysql, par l'objet XMLHTTPRequest .

    Au final dans mon fichier js, la réponse de la requête sera oui ou non. En fonction de la réponse je dois afficher un nouveau formulaire différent.

    2ème question : Es ce que je dois
    - afficher mes formulaires a l'avance dans deux div différentes et les cacher

    page formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <INPUT type="text" id="num_rencontre_recherche" onChange "rechercheRencontre()"> 
     
    <div id="FormCoupe" style="display:none">
    [...]
    <INPUT type="text" id="FormulaireCoupe" />
    [...]
    </div>
     
    <div id="FormChampionnat" style="display:none">
    [...]
    <INPUT type="text" id="FormulaireChampionnat" />
    [...]
    </div>
    puis montrer le bon grace à

    page js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.getElementById("").style.display = "block";
    ou bien
    - laisser mes blocs vides au début et les "remplir" après

    page formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <INPUT type="text" id="num_rencontre_recherche" onChange "rechercheRencontre()"> 
     
    <div id="FormCoupe" style="display:none"></div>
     
    <div id="FormChampionnat" style="display:none"></div>
    page js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     document.getElementById(""). innerHTML='[...]
     
    <INPUT type="text" id="FormulaireChampionnat" />
    [...]
    ';
    Merci pour vos conseils ...

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    1- Une balise input est auto-fermante et n'utilise pas des majuscules le nom des tag et ses attributs ou évenements.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" id="num_rencontre_recherche" onchange="rechercheRencontre()" />

    2- Utilise des éléments cachés que tu affiches ou masques selon les cas.

    A+.

  3. #3
    Membre extrêmement actif Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Par défaut
    oui, et même temps, c'est vrai que je ne suis pas obliger de cérer deux formulaires différents, un seul avec des éléments caché ou non suffisent.

    Merci

  4. #4
    Membre extrêmement actif Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Par défaut
    J'aimerai rebondir sur ma question :

    J'ai donc mis en place mon formulaire, avec des champs cachés ou non, selon le numéro de la rencontre.

    Donc les données sont analysées sur ma page php. En cas d'erreur, la page de saisie est renvoyée. Cependant, les champs qui étaient découverts grâce au numéro de la rencontre saisie, si trouvent à nouveau cachés.

    Les données entrées dans le formulaire faux sont conservés. J'ai une idée, mais j'aimerai votre avis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //$_SESSION['donnees'] représente un tableau associatif contenant les données déjà entrées
     
     
    $tableau = array("butLocaux"=>"idButLocaux","butVisiteurs"=>"idButVisiteurs", ...); // représente l'ensemble de mes champs
    foreach($tableau as $champ => $nomId)
    {
     
    	if (isset($_SESSION['donnees'][$champ]) )
    	{
    		echo '<SCRIPT language="Javascript">document.getElementById($nomId).style.display="block"</script>';
    	}
    }
    Je suis bien conscient que c'est du bricolage, mais si vous avez mieux je me coucherai moins c.. ce soir ...
    Merci

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut


    Ne fait pas retourner un script dans le retour AJAX mais seulement un petit bout de text avec lequel tu testeras si tu va afficher ou non ton div.

    A+.

  6. #6
    Membre extrêmement actif Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Par défaut
    là en l'occurence, ce n'est pas le retour ajax, mais le retour pageVerif => pageRetour. Je fais juste remonter un tableau en sessions, tableau contenant les données des diiférents champs. C'était juste pour savoir si le script que j'ai indiqué et qui (pardon) va être placé dans la page de saisie, est correct ou pas. C'est à dire si c'est bien d'écrire ça comme ça ....

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/11/2014, 08h52
  2. Réponses: 1
    Dernier message: 23/05/2008, 23h19
  3. [AJAX] Création d'éléments de formulaire à partir des choix
    Par Drummkit dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/02/2007, 12h26
  4. [ajax] XMLHttpRequest et formulaire(<input type='file'>)
    Par Are-no dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/08/2006, 20h22
  5. [FORMULAIRE] Récupération de input 'text'
    Par danael dans le forum Flash
    Réponses: 5
    Dernier message: 19/07/2003, 11h31

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