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

Symfony PHP Discussion :

Lecture seule Input radio


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut Lecture seule Input radio
    Bonjour Tous le monde

    Je reprends le même sujet d'hier que vous m'avez vraiment aidé .

    Ma question est la suivante :

    J'ai un input radio, et je voudrai le rendre en lecture seule.

    Les deux méthodes qui sont proposées ne m'arrangent pas tellement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $form->widgetSchema['MonChampRadio']->setAttribute('readOnly','readOnly');
    Si je prends cette solution, l'input radio sera toujours activé, et je peux cocher , décocher.

    La deuxième proposition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $form->widgetSchema['MonChampRadio']->setAttribute('disabled', true);
    Cette solution, ne poste pas la valeur du mon champ radio.

    Comment je peux rendre mon champ en lecture seule, mais je peux poster sa valeur lorsque je soumet le formulaire?

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Hm, j'utilise la deuxième solution dans un cas similaire à toi (mais appliqué à un champ widgetDoctrineChoice):
    - j'ai un champ "auteur" qui correspond obligatoirement à l'utilisateur en session ;
    - du coup je l'affiche en "disabled" afin qu'il ne puisse pas changer la valeur de l'auteur du formulaire.

    Au final, mon formulaire s'enregistre bien avec le bon auteur.


    N'aurais-tu pas laissé un unset quelque part ?

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut
    Je n'ai pas un unset sur ce champ spécialement, quand je met disabled à true .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->params = $request->getParameter($this->form->getName());
    $this->params me retourne null.

    à cause de la valeur de mon champ radio.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Je n'ai pas testé, mais c'est censé plutôt être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->params = $request->getParameter('name');
    Dans ton code, tu lui dis d'aller chercher le nom du formulaire, ce qui n'est pas du tout pareil. As-tu essayé de faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $request->getParameter($this->form->getName());

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut
    justement, avec cette syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $request->getParameter($this->form->getName());
    je recupère tout les paramètres lié à mes champs, si je ne met pas dans mon form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $form->widgetSchema['MonChampRadio']->setAttribute('disabled', true);
    echo de mon param me recupère bien la valeur de mon champ, mais dès que je met disabled à true, le $this->params devient null?

    C'est vrais aussi que je suisdans le formulaire imbriqué.

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Il n'y a pas de bonne réponse en utilisant des widgets et des paramètres html. Ceci à pour effet de créer des failles de sécurité.

    Le mieux est soit de créer un widget modifié au niveau du render pour un simple affichage, soit de modifier le template pour générer un simple affichage.

    Il n'y a pas (a mon avis) d'intérêt à afficher des boutons radio en simple affichage. Si on affiche seulement le résultat sélectionner, il me semble que cela est plus compréhensible et largement suffisant. Ceci vaut aussi pour les listes déroulantes. Quant au choix multiples un affichage sous forme de liste devrait suffire.

Discussions similaires

  1. Comment mettre des inputs radio (modifiés) sur une seule ligne
    Par algerino77 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 13/11/2014, 17h54
  2. requete en lecture seule
    Par mvg dans le forum InterBase
    Réponses: 8
    Dernier message: 04/02/2004, 17h21
  3. [TQuery][DBGRID] pb de mise à jour: table en lecture seule
    Par Chrystèle Carré dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/11/2003, 09h36
  4. Réponses: 5
    Dernier message: 28/10/2003, 15h01
  5. [firebird] Connexion impossible en lecture seule
    Par severine dans le forum Administration
    Réponses: 2
    Dernier message: 01/08/2003, 15h35

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