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 :

[SF 5]Mon champ ne s'affiche que sur Firefox [4.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2018
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2018
    Messages : 58
    Par défaut [SF 5]Mon champ ne s'affiche que sur Firefox
    Salut à tous,

    J'ai créé un formulaire très basique que j'ai envoyé à twig. Sur Firefox tout mes champs sont visibles et lorsque je remplis le formulaire et le valide, j'ai bien mon annonce qui s'ajoute dans ma BDD, mais avec Chrome je rencontre un problème.

    Tout d'abord, seul mon champ image n'est pas affiché. Il m'affiche le label et pas le input. Ensuite si je remplis le formulaire et que je le valide ( sans remplir le champ image forcément...) j'ai dans ma console cette erreur :
    An invalid form control with name='ad[image]' is not focusable.
    Voici mon formType:
    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
    <?php
     
    namespace App\Form;
     
    use App\Entity\Ad;
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\Extension\Core\Type\TextareaType;
    use Symfony\Component\Form\Extension\Core\Type\TextType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolver;
     
    class AdType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('title', TextType::class)
                ->add('description',TextareaType::class)
                ->add('city',TextType::class)
                ->add('image',TextType::class);
     
        }
     
        public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults([
                'data_class' => Ad::class,
            ]);
        }
    }
    mon Controller:

    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
     
    /**
     * Allow to create an Ad
     *@Route("/profile/ajouter-annonce", name="add_ad")
     * @param Request $request
     * @param EntityManagerInterface $manager
     * @return Response
     */
    public function addAd(Request $request, EntityManagerInterface $manager)
    {
        $ad = new Ad();
        $form = $this->createForm(AdType::class, $ad);
        $form->handleRequest($request);
     
        if ($form->isSubmitted() && $form->isValid()){
            $ad->setUser($this->getUser());
            $manager->persist($ad);
            $manager->flush();
     
            $this->addFlash('success', 'Votre annonce a bien été ajouté');
            return $this->redirectToRoute('user_ads');
        }
     
        return $this->render('user/addAd.html.twig', [
            'form' => $form->createView(),
        ]);
     
    }
    et mon Twig :
    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    {% extends 'base.html.twig' %}
     
    {% block body %}
    <h1>Ajouter une annonce</h1>
     
    {{form_start(form)}}
    {{form_widget(form)}}
     
    <button type="submit">Ajouter</button>
     
    {{form_end(form)}}
     
    {% endblock %}

    Comme vous le voyez, mon champ image est basique, c'est seulement un TextType, tout comme le "city" ou le "title" mais il ne s'affiche pas sous chrome seulement
    rendu sous chrome :

    Nom : imgChrome.png
Affichages : 540
Taille : 28,7 Ko

    rendu sous Mozilla :

    Nom : imgMozilla.png
Affichages : 490
Taille : 12,5 Ko

    Avez-vous une idée pour gérer ce problème que chrome m'affiche ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2018
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2018
    Messages : 58
    Par défaut
    J'ai oublié de précisé que si je passe mon champ image de TextType à FileType (par exemple) le champ s'affiche et je n'ai pas d'erreur dans la console...

  3. #3
    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
    Bonjour

    Retire cette ligne de ton Twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="submit">Ajouter</button>
    et utilise un SubmitType dans ta classe de Form.
    Et si tu n'as rien n'a personnalisé dans ton formulaire, utilise juste
    A+.

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2018
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2018
    Messages : 58
    Par défaut
    Bonjour Andry,

    J'ai fais les changements mais j'ai toujours le champ image qui n'apparaît pas. Ça apparaît sous Mozilla et Edge mais pas chrome

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    bonjour,
    Essaie de supprimer la validation html 5:
    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    {% extends 'base.html.twig' %}
     
    {% block body %}
    <h1>Ajouter une annonce</h1>
     
    {{ form_start(form, {attr: {'novalidate': 'novalidate'}}) }}
     
    {{form_widget(form)}}
     
    <button type="submit">Ajouter</button>
     
    {{form_end(form)}}
     
    {% endblock %}

  6. #6
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2018
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2018
    Messages : 58
    Par défaut
    Bonjour armel,

    Ça ne change rien. C'est seulement sur mon champ image que ça n'apparaît pas ( et seulement sur Chrome) alors que mon champ city et title sont aussi en TextType....

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

Discussions similaires

  1. [Polymer] Le style de mon composant ne s'affiche pas sur Firefox
    Par 4rocky4 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 24/05/2017, 11h10
  2. Mon champ ne s'affiche pas
    Par amola1992 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 06/08/2014, 09h42
  3. JFrame ne s'affiche que sur mon PC
    Par 7akim dans le forum Agents de placement/Fenêtres
    Réponses: 21
    Dernier message: 15/01/2014, 15h59
  4. mon champ ne s'affiche pas avec rave
    Par easydsl54 dans le forum Rave
    Réponses: 2
    Dernier message: 16/05/2011, 19h26
  5. Galerie image ne s'affichant que sur IE
    Par matimat2k4 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/05/2008, 17h47

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