Laravel 5

Gestion des boutons radio de la vue à la BDD

  • Avatar de bibou1
    Membre depuis :
    02/09/2017
    Messages :
    2

    Bonjour à tous,

    Je rencontre une difficulté bloquante je ne sais pas comment gérer les boutons radio (4 dans ce cas), entre la vue, le controller, le model, le request pour une sauvegarde de la valeur du bouton cocher dans une bdd.
    Je ne trouve pas d'explication...

    Je vous remercie d'avance, pour votre aide.

  • Avatar de AlexisGatuingt
    Membre depuis :
    06/01/2019
    Messages :
    22

    Hello, exemple de https://developer.mozilla.org/fr/docs/Web/HTML/Element/Input/radio :

    <p>Select a maintenance drone:</p>

    <div>
    <input type="radio" id="huey" name="drone" value="huey"
    checked>
    <label for="huey">Huey</label>
    </div>

    <div>
    <input type="radio" id="dewey" name="drone" value="dewey">
    <label for="dewey">Dewey</label>
    </div>

    <div>
    <input type="radio" id="louie" name="drone" value="louie">
    <label for="louie">Louie</label>
    </div>

    Tes 4 input doivent avoir le même "name" puis en fonction de ce qui à été coché : request->input('drone') = value .

    Pour tester si tu obtiens bien une valeur, tu peux utiliser

    if( $request->has('drone')) :
    else :
    endif;
  • Avatar de bibou1
    Membre depuis :
    02/09/2017
    Messages :
    2

    Hi,
    Merci pour ta réponse, le problème c'est qu'avec name="drone " pour les 4 input c'est le 1er input qui est séléctionner alors que je clique sur le 3 ème par exemple

    <div class="form-check form-check-inline">
    <input type="radio" class="form-check-input" id="eval_qualite" name="eval_qualite" value="qualite0">
    <label class="form-check-label" for="eval_qualite"><i class="far fa-angry red-text fa-2x"></i></label>
    </div>
    <!-- Material inline 2 -->
    <div class="form-check form-check-inline">
    <input type="radio" class="form-check-input" id="eval_qualite" name="eval_qualite" value="qualite1">
    <label class="form-check-label" for="eval_qualite"><i class="far fa-frown orange-text fa-2x"></i></label>
    </div>
    <!-- Material inline 3 -->
    <div class="form-check form-check-inline">
    <input type="radio" class="form-check-input" id="eval_qualite" name="eval_qualite" value="qualite2">
    <label class="form-check-label" for="eval_qualite"><i class="far fa-meh warning-text fa-2x"></i></label>
    </div>
    <!-- Material inline 4 -->
    <div class="form-check form-check-inline">
    <input type="radio" class="form-check-input" id="eval_qualite" name="eval_qualite" value="qualite3">
    <label class="form-check-label" for="eval_qualite"><i class="far fa-grin green-text fa-2x"></i></label>
    </div>

    Pour le controller, j'ai ça

    $eli = new Eli;
    $eli->entreprise = $request->entreprise;
    $eli->nom = $request->nom;
    $eli->fonction = $request->fonction;
    $eli->email = $request->email;
    $eli->prestataire = $request->prestataire;
    $eli->montant_presta = $request->montant_presta;
    $eli->ca = $request->ca;
    $eli->cout = $request->cout;
    $eli->eval_qualite = (Input::has('eval_qualite')) ? true : false;
    $eli->eval_cout = (Input::has('eval_cout')) ? true : false;
    $eli->consentement = (Input::has('consentement')) ? true : false;// ajouter le namespace use Illuminate\Support\Facades\Input;
    $eli->save();

    Si tu peux m'éclairer d'avantage, je t'en remercie.

Vous ne pouvez pas répondre à ce sujet.