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 :

Comment envoyer un tableau des valeurs vers une action


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut Comment envoyer un tableau des valeurs vers une action
    bonjour,

    j'utilise la technologie SF 2.7. dans mon projet j'ai besoin de supprimer en même temps un ensemble des options. Alors j'ai un bouton "checkAll" qui coche et décoche tous les autres checkboxs. D'aprés la recherche j'ai trouvé comment sélectionner les boutons.

    c'est la 1ére fois que j'utilise Query ce pour cela j'en sais pas comment envoyer les valeurs des checkboxs sélectionnés au même vers ma route 'deleteAll' .

    voilà mon essai: http://jsfiddle.net/ScnQT/2533/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //Code Html:
    <form action="{{path('deleteAll')}}" >
        <p><label><input type="checkbox" id="checkAll"/> Check all</label></p>
     
        <fieldset>
            <p><label><input type="checkbox" name="item" value="{{entity.id}}"/> Option 1</label></p>
            <p><label><input type="checkbox" name="item" value="{{entity.id}}"/> Option 2</label></p>
            <p><label><input type="checkbox" name="item"value="{{entity.id}}" /> Option 3</label></p>
            <p><label><input type="checkbox" name="item" value="{{entity.id}}"/> Option 4</label></p>
        </fieldset>
        <br>
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //code Query:
     
    <script type="text/javascript">
    $("#checkAll").change(function () {
        $("input:checkbox").prop('checked', $(this).prop("checked"));
    });
    </script>
    merci de m'orienté vers la bonne solution

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form action="{{path('deleteAll')}}" >
        <p><label><input type="checkbox" id="checkAll"/> Check all</label></p>
     
        <fieldset>
            <p><label><input type="checkbox" name="item[]" value="{{entity.id}}"/> Option 1</label></p>
            <p><label><input type="checkbox" name="item[]" value="{{entity.id}}"/> Option 2</label></p>
            <p><label><input type="checkbox" name="item[]" value="{{entity.id}}"/> Option 3</label></p>
            <p><label><input type="checkbox" name="item[]" value="{{entity.id}}"/> Option 4</label></p>
        </fieldset>
        <br>
    </form>

  3. #3
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    Merci pour la correction Monsieur.

    D’après le test que j'ai au niveau de SF2 j'obtiens toujours null concernant les valeurs de ids.

    j'essayé ce script là
    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
      <script>
     
          $(document).ready(function(){
            $("#checkAll").click(function(){
     
                var checked_status = this.checked;
     
                $("input[name='check[]']").each(function(){
     
                    this.checked = checked_status;
                    var v = $("#d").val();
     
                    $('#deleteAll').submit(function(){ // ici mon form
                        $("#deleteAll").attr("action", "{{ path('projets_deleteAll') }}" + v);
                    });
                });
     
            });
        });
        </script>
    toujours non fonctionnelle

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Comme toujours
    Affiche le html dans le navigateur
    Pas le code de ton serveur
    To compredras ce qu'il se passe.
    Et peut etre nous aussi.

  5. #5
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    j'ai mis dans mon action la variable de test "var_dump" pour avoir si j'ai bien récupéré les valeurs de ces checkboxs mais pas encore . Car lorsque je clique sur le bouton 'checkAll' il ne me retourne pas vers l'action "deleteAll" qui s'affiche après le contenu de la valeur "$param" .
    j'ai pas encore fais tous le traitement de la suppression car je vais voir d'abords la récupération des variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     public function deleteAllAction(Request $request)
        {
     $param = $request->request->get('check');  // ici $_POST
             var_dump($param); exit();
     
            return $this->redirect($this->generateUrl('projets_show'));
        }

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Je répète seul le code généré c'est a dire celui qu'on voit dans le navigateur permet de savoir se que fait javascript

    le code serveur n'a aucune utilité pour comprendre ce qui cloche dans javascript.

    il te faut comprendre que tu développe deux partie de ton application

    une qui s'exécute sur le serveur
    l'autre sur le poste du client

    c'est exactement pareil que si tu avais deux applications une application serveur et une application client

    tu as un problème dans l'application client et tu nous montre le code de l'application serveur.

    ça n'a pas de sens.

    A+JYT

  7. #7
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    j'ai pas montré le code de l'application serveur comme tu as dis mais j'ai montré ce que je suis entrain de faire . alors que le code coté clients reste le même (html+jquery)

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Un form ne peut pas pointer par son action sur une fonction jquery ...

    Comme le dit Seka, montre nous le code html généré de ta page !

    Si tu veux lancer du code js (jquery) coté client sur le sublim du form il faut détourner le comportement du bouton submit ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $('#myform').on('submit', function (e){
        e.preventDefault();
        actiondesubsitution();
    })
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Citation Envoyé par syrine01 Voir le message
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //Code Html:
    <form action="{{path('deleteAll')}}" >
        <p><label><input type="checkbox" id="checkAll"/> Check all</label></p>
     
        <fieldset>
            <p><label><input type="checkbox" name="item" value="{{entity.id}}"/> Option 1</label></p>
            <p><label><input type="checkbox" name="item" value="{{entity.id}}"/> Option 2</label></p>
            <p><label><input type="checkbox" name="item"value="{{entity.id}}" /> Option 3</label></p>
            <p><label><input type="checkbox" name="item" value="{{entity.id}}"/> Option 4</label></p>
        </fieldset>
        <br>
    </form>
    ...
    Ceci n'est pas du code exploitable par un navigateur il doit y avoir soit
    du code serveur qui en fait du HTML utilisable
    soit du javascript qui génère du code html utilisable

    dans le deux cas c'est ce code généré qui est utilisé par javascript
    donc ....

    ce n'est que lorsqu'on aura les clefs du problème qu'on pourras t'aider.
    A+JYT

  10. #10
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    Merci pour vos conseils.

    Ceci mon code html compete:

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    <!-- menu dropdown-->
    <form id="deleteAll" method="post" action="{{ path('deleteAll') }}">
     
                                    <strong >
                                        <i class="fa fa-trash" ></i> Supprimer
                                    </strong>
     
    <!-- ./menu dropdown -->
     
    <!-- un tableau des données récupérées daprés la BD -->
    <table id="datatable" class="table table-hover">
                                    <thead>
                                    <tr>
                                        <th>
                                                <input type="checkbox" id="checkAll"/> <!-- ici le bouton checkAll-->
                                        </th>
     
                                        <th>
                                            Titre Du Projet
                                        </th>
     
                                        <th>
                                            Date D'ajout
                                        </th>
     
                                        <th>
                                            Date De Modification
                                        </th>
                                    </tr>
     
                                    </thead>
     
                                    <tbody>
    {% for entity in entities %}
     
                                            <tr class="gradeC">
                                                <td>
                                                    <input type="checkbox" id="d" name="check[]" value="{{ entity.id}}"/> <!-- ici les diferrents ids des projets qui seront envoyé ver ma route "deleteAll"-->
                                                    </form>
                                                   </td>
     
                                                <td>
                                                    <strong>{{ entity.nomProjet }}</strong>
                                                </td>
     
                                               <td>
                                                   <strong>{{ entity.dateAjoutPro |date('d-m-Y') }} </strong>
                                               </td>
     
                                               <td>
                                                       <strong>{{ entity.dateModificationPro | date('d-m-Y H:i:s') }}</strong>
     
                                               </td>
     
                                            </tr>
     
                                    {%  endfor %}
     
                                    </tbody>
     
                                </table>
    Puisque je suis débutante en JS j'ai pas trouvé la solution , merci pour vos aides

  11. #11
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    encore une fois ce n'est pas le code source que tu as écris qui permettra de débloquer la situation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     value="{{ entity.id}}"/> <!-- ici les diferrents ids des projets qui seront envoyé ver ma route
    Il y a obligatoirement quelque chose qui interprète ce source et qui en fait du html comme


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     value="35"/> <!-- ici les diferrents ids des projets qui seront envoyé ver ma route
    c'est ça et seulement ça qui permet de savoir sur quoi agit ton js

    A+JYT

  12. #12
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    Merci pour vos aides , le probléme est résolu en gardant le bon emplacement de la balise <form> et ajout le bouton submit pour l"envoi des valeurs

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 15/03/2013, 16h18
  2. [XL-2003] Copier automatiquement des valeurs vers une autre feuille
    Par Rabiry dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 24/01/2013, 08h31
  3. Réponses: 2
    Dernier message: 17/05/2006, 21h35
  4. Réponses: 13
    Dernier message: 01/02/2006, 12h00
  5. Envoyer des valeurs vers le port série
    Par aliwassem dans le forum Langage
    Réponses: 2
    Dernier message: 30/12/2005, 20h05

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