Autour de Laravel

DropDown et value

Avatar de PlySoft
PlySoft

Bonjour à tous

Je suis en train d'écrire une page blade avec laravel e tailwind. Elle affiche un dropdown 3 boutons 'suppression/Create/Edit . J'ai implémenté la creation, et maintenant je souhaite implémenter la suppression. Bien entendu, je souhaite récupérer la value sélectionnée par l'utilisateur pour la supprimer (sauf si elle est = à "Tous)

J'ai essayé un script mais ce n'est pas cela.

Avez vous une idée ?

Par avance Merci !!

Plysoft

    <!-- ====== dropdown theme  -->
 <div class="flex h-22 w-44 px-6 dropdown">  
        
            <select id="theme" name="theme"  class="form-control m-6">
                <option value="Tous">Tous</option> 
            @foreach ($themes as $theme)
                <option value="{{$theme->name}}">{{$theme->name}}</option>
            @endforeach
            
               <script>
                var e = document.getElementById("theme");
                var themevalue = e.options[e.selectedIndex].value;
               </script>
               
            </select>
            
 <!-- ====== boutons theme  -->
  <!-- ====== boutonSuppr  -->
            <div class="inline-flex h-10 w-auto mx-4 my-6 shadow-md hover:shadow-lg focus:shadow-lg" role="toolbar">
                @if (themevalue != "Tous")
                <form action="{{ route('themes.destroy', $theme) }}" method="POST">
                    @csrf
                    @method("DELETE")
                    <button type="button"
                    class="rounded-l-lg inline-block px-6 py-2.5 bg-blue-600 text-white font-medium text-xs leading-tight uppercase hover:bg-blue-700 focus:bg-blue-700 focus:outline-none focus:ring-0 active:bg-blue-800 transition duration-150 ease-in-out"><i
                        class="fas fa-trash-alt lg:fa-2x"></i></button>
                    </form>
                    @endif
 <!-- ====== boutonCreat  -->
                        <a href="{{ route('themes.create') }}"<button type="button"
                    class=" inline-block px-6 py-2.5 bg-blue-600 text-white font-medium text-xs leading-tight uppercase hover:bg-blue-700 focus:bg-blue-700 focus:outline-none focus:ring-0 active:bg-blue-800 transition duration-150 ease-in-out"><i
                        class="fas fa-plus g:fa-2x"></i></button></a>
 <!-- ====== boutonEdit  -->
                <button type="button"
                    class="rounded-r-lg  inline-block px-6 py-2.5 bg-blue-600 text-white font-medium text-xs leading-tight uppercase hover:bg-blue-700 focus:bg-blue-700 focus:outline-none focus:ring-0 active:bg-blue-800 transition duration-150 ease-in-out"><i
                        class="fas fa-edit lg:fa-2x"></i></button>
            </div> 
Posté il y a 6 mois
Avatar de KYoann
KYoann

Salut,

Le problème est que tu t'es mélangé les pinceaux entre le code Javascript et le PHP.

Tu créer une variable en Javascript "themevalue" puis tu fait une condition en php plus bas en fonction de ca valeur, hors le code PHP est calculé sur le serveur avant d'etre envoyé à ton navigateur ... ( sans parlé du faite d'utiliser une variable JS dans une condition php )

Plusieurs solutions s'offre à toi, mais si tu veux continuer avec un Javascript, le mieux serait de créer 3 vues bien distinctes pour chacunes des actions suppression/Create/Edit .

Puis en fonction du choix, aller chercher le formulaire en Ajax et l'afficher plus bas dans ta page.

Posté il y a 5 mois

Vous ne pouvez pas répondre à ce sujet.