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 :

Modification formulaire avec bouton radio


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Par défaut Modification formulaire avec bouton radio
    Bonjour à tous, (il y a longtemps que je n'avais plus posté ici ... )

    Je vous explique mon "gros" problème, j'ai créé un formulaire (en PHP) et je souhaiterai que l'on puisse modifier ce formulaire; dans mon formulaire j'ai des listes de boutons radio par exemple :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <input type="radio" name="nom" value="value1" checked> 1
    <input type="radio" name="nom" value="value2"> 2
    <input type="radio" name="nom" value="value3"> 3
     
    <input type="radio" name="nom2" value="value1" checked> 1
    <input type="radio" name="nom2" value="value2"> 2
    <input type="radio" name="nom2" value="value3"> 3

    Lorsque je modifie le formulaire bien évidement j'aimerai que les boutons radio qui on été coché à l'enregistrement s'affiche en étant coché; pour ce faire j'ai créé un code JavaScript qui vérifie si il s'agit d'un bouton radio et qui coche le bouton si celui-ci avait été coché

    Voici le code qui s’exécute si on modifie le formulaire (tout le code se trouve sur une seul page PHP qui gère la création; modification et suppression du formulaire) :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script language="JavaScript" type="text/javascript">
    var radio = document.benef.".$name_field.";
    for (var j = 0; j < radio.length; ++j) {
      var radio = radio[j];
      if (radio.value == ".($row_modi[$name_field]).") {
         radio.checked = true;
         break;
      }
    }
    </script>
    $name_field = nom du champ de la bdd qui est le même que le name de mon bouton radio
    $row_modi[] = mon tableau sql qui me renvois les données enregistrée pour le formulaire

    Mon code fonctionne sur certains boutons radio mais pas sur tous, par exemple si j'ai 3 boutons radio, le bouton 1 et 3 fonctionnent mais pas le 2 ...

    Si j'affiche une variable de mon code JavaScript le code ne fonctionne pas ...

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Bonjour,

    http://www.developpez.net/forums/d73...isation-forum/

    Pas de code PHP sur ce forum SVP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Par défaut
    Citation Envoyé par SylvainPV Voir le message
    Bonjour,

    http://www.developpez.net/forums/d73...isation-forum/

    Pas de code PHP sur ce forum SVP
    Modifié

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Bah pas tant que ça...
    C'est pas pour t'embêter que SylvainPV te renvoie vers les règles du forum, c'est parce que le code PHP n'est pas vu par JavaScript et que seul compte le code envoyé par le serveur... Et dans ton cas, ça rend difficile de voir où ça bloque.

    Enfin, habituellement, dans ce genre de cas, c'est souvent dû à des caractères parasites non affichable qui rendent la comparaison fausse (ou alors des échappements de caractères).
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Par défaut
    Et voila, je répond à ma question voici le code si quelqu'un en a besoin un jour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // TYPE=RADIO
    var radio = document.benef.".$name_field.";
    for (var j = 0; j < radio.length; ++j) {
       if (\"".$row_modi[$name_field]."\" == radio[j].value) 
       { radio[j].checked = true; }
       else
       {radio[j].checked = false;}						  
    }
    remarque : je génère le JavaScript en PHP
    $name_field = nom du champ de la bdd qui est le même que le name de mon bouton radio
    $row_modi[] = mon tableau sql qui me renvois les données enregistrées pour le formulaire

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Bah pas tant que ça...
    C'est pas pour t'embêter que SylvainPV te renvoie vers les règles du forum, c'est parce que le code PHP n'est pas vu par JavaScript et que seul compte le code envoyé par le serveur... Et dans ton cas, ça rend difficile de voir où ça bloque.

    Enfin, habituellement, dans ce genre de cas, c'est souvent dû à des caractères parasites non affichable qui rendent la comparaison fausse (ou alors des échappements de caractères).
    Y a pas de problème !

  7. #7
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    voici le code si quelqu'un en a besoin un jour
    ça m'étonnerait que quelqu'un se serve de ça, il s'agit d'un mélange de Javascript et PHP où tu as retiré par ci par là quelques instructions PHP, ce qui le rend complètement inexploitable...

    Mettre du PHP dans du Javascript, quelle abomination

    Et sur le principe, il n'y a pas lieu de faire ça en Javascript. Tu peux directement en PHP placer tes attributs checked selon ce que tu as en BDD.

Discussions similaires

  1. Formulaire avec boutons radio->multi-choix
    Par pitu69 dans le forum MkFramework
    Réponses: 13
    Dernier message: 06/07/2013, 17h35
  2. [PHP 5.0] Récupérer contenu d'un formulaire avec bouton radio
    Par Jeannotc dans le forum Langage
    Réponses: 5
    Dernier message: 31/05/2013, 13h05
  3. Réponses: 1
    Dernier message: 31/03/2013, 12h09
  4. Problème formulaire avec bouton Radio
    Par SwatAgent dans le forum ASP
    Réponses: 1
    Dernier message: 23/10/2010, 16h35
  5. Formulaire avec bouton radio + onclick
    Par iv3soldat dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/12/2007, 19h30

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