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

jQuery Discussion :

url de redirection dans fonction javascript [AJAX]


Sujet :

jQuery

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut url de redirection dans fonction javascript
    Lors du click sur un élément de ma page ici :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <td id="click" class="lastBorder"> Passer commande </td>
    j'ai ma fonction javascipt suivante ou j'effectue divers traitement donc je vous évite les details

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script>
    $(".loading").hide();
    $("#click").click(function(){
      ligne = document.getElementsByClassName('ligne');
      var tab = new Array();
      for(i=0;i<ligne.length;i++)
      {
      tab[i]=  $("#qte_"+(i+1)).val();
      }
      document.location.href="{{path('fos_user_compte')}}",
     
     });
    </script>
    cela dit aprés les différent traitement aprés que la boucle for etc ont faite leur traitement je voudrait redirigé vers une nouvelle action avec le tableau passé en parametre du genre :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url: "{{ path('fos_user_compte{{tableau: tab}})}}",
    je sais le faire pour ce qui est d'un formulaire submit comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $.ajax({
            type: "POST",
            url: "{{ path('Ecommerce_catalogue_produit_rechercher')}}",
            data: DATA,
            cache: false,
            success: function(data){
               $('#resultats_recherche').html(data);
               $(".loading").hide();
            }
        });
    mais la je bloque vraiment, une idée serait la bienvenu la

    merci d'avance

  2. #2
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    peux tu être plus clair dans ta demande s'il te plait, je n'ai pas compris le but de la manœuvre
    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 !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    le but de la manoeuvre est tout simplement de récupéré mon tableau << tab >>
    afin de pouvoir l'utilisé ailleur dans du php, c'est pour cela que je veut faire une redirection aprés le remplissage du tableau au clique de la souri sur l'élément.

    Si vous avez une autre solution

    Merci de me venir en aide c'est sympathique

  4. #4
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Ha ...
    Je pense avoir compris ton besoin: tu souhaites faire passer ton array javascript vers php au moyen d'un url en passant un paramètre get ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.location.href="{{path('fos_user_compte')}}?tableau="+$.serialializeArray(tab);
    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 !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    Oui ,c'est je suis obligé d'utilsé du javascript car je compte des éléments, ect

    Donc je vais essayé ta solution, je te tien au courant

    Encore merci pour ces infos de ta part.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    De plus, je la mais ou cette ligne , à la suite de ma boucle ?

  7. #7
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    une fois l'array renseigné oui ...

    juste un détail location n'est pas une propriété de document mais plutot de window ...
    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 !

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut RE
    Voici donc ma fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function myClick()
    {
     
      ligne = document.getElementsByClassName('ligne');
      var tab = new Array();
     
      for(i=0;i<ligne.length;i++)
      {
     
      tab[i]=  $("#qte_"+(i+1)).val();
      }
    }
    document.location.href="{{path('fos_user_compte')}}?tableau="+$.serialializeArray(tab);
    aucune redirection sur le clique au clique

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    document.location.href="{{path('fos_user_compte')}}?tableau="+$.serialializeArray(tab); doit être dans la fonction et pas en dehors de celle ci

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    Oui je me suis trompé mais j'ai réctifié mais toujour aucune redirection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script>
    $(".loading").hide();
    $("#click").click(function(){
      ligne = document.getElementsByClassName('ligne');
      var tab = new Array();
      for(i=0;i<ligne.length;i++)
      {
      tab[i]=  $("#qte_"+(i+1)).val();
      }
    document.location.href="{{path('fos_user_compte')}}?tableau="+$.serialializeArray(tab);
     
     });
    </script>

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    juste un détail location n'est pas une propriété de document mais plutot de window ...

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    Quand je met google ca marche donc bizarre

    document.location.href="http://www.google.fr";

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    c'est vrai que cela devrait le faire quand même.

    Vérifies quand même que l'adresse que tu mets est correcte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var newAdress = ="{{path('fos_user_compte')}}?tableau="+$.serialializeArray(tab);
    console.log( newAdress);

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    Toujour rien ne fonctionne j'ai essayé avec d'autree adresse que j'utilise d'habitude toujour rien, c'est bien énervant

  15. #15
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    sorry!!!
    je viens de reprendre le post en complet pour voir des erreurs
    - serialializeArray n'existe pas il s'agit de serializeArray.

    - pourquoi parcourir et ne pas récupérer directement grâce au sélecteurs et surtout avec serialize()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $("#click").click(function(){
      var newAdress ="{{path('fos_user_compte')}}?tableau="+$('input[name^="qte_"]').serialize();
      console.log( newAdress);
      document.location.href = newAdress;
     });
    il te faut dans ce cas avoir des name à tes INPUT au lieu des id.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    Je vais essayé

    comment on récupére les valeurs de mes différent input car il sont créer avec un foreach du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    {% for produit in listeProduitsPanier%}
    
    				<tr class="ligne">
    				        <td> {{ produit.libelle }} </td>
    					<td> {{ produit.description }} </td>
    					<td> {{ produit.prixHT }} </td>
    					<td>
    <form id="update_qte" action="{{ path('update_panier_qte') }}"  method="post" class="">
    <input id="qte_{{loop.index}}" style="width:20px" type=\"text\" name=qte value={{quantite[produit.id]}}>
    <input type="submit" value="{{ 'profile.edit.submit'|trans({}, 'FOSUserBundle') }}" />
    </form>
    </td>
    C'est pour ca que que je refaisai un for dans ma fonction javascript pour ajouter l'indice i a mon selecteur que j'ai mis en rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(i=0;i<ligne.length;i++)
      {
      tab[i]=  $("#qte_"+(i+1)).val();
      }
    et la je récupéré tous mes input avec ta solution les inputs sont nommé en dur moi en dynamique avec l'indice i car on sait pas a l'avance le nombre de ligne qu'on va avoir

  17. #17
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    petit exemple
    Code html : 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
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>[...]</title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    </head>
    <body>
    <button id="click">GO</button>
    <script>
    var oElem;
    var i, nbr = 4;
    for( i= 0; i <nbr; i++){
      oElem = document.createElement('INPUT');
      document.body.appendChild( oElem);
      oElem.type  = 'text';
      oElem.value = 'val_' +i;
      oElem.name  = 'qte_' +i;
    }
    $("#click").click(function(){
      alert('param = \n' + $('input[name^="qte_"]').serialize());
    });
    </script>
    </body>
    </html>
    modifies la valeur de nbr et observe le résultat.

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    ta solution a lair sympa pour le dynamisme, je voudrais que la valeur de nbr soit dynamique donc j'ai récupéré les ligne en rouge de mon code
    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
    <script>
    $("#click").click(function(){
    var oElem;
    var i,;
    nbr = document.getElementsByClassName('ligne');
    
    for( i= 0; i <nbr.length; i++){
      oElem = document.createElement('INPUT');
      document.body.appendChild( oElem);
      oElem.type  = 'text';
      oElem.value = 'val_' +i;
      oElem.name  = 'qte_' +i;
    }
    pense tu que ca peut marché
      
    });
    </script>

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut re
    le nbr est donc dynamique maintenant ,il faut que je mette tous mes input value dans mon tableau maintenant

  20. #20
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    STOP! on se calme...

    ce que l'on essaie de te faire comprendre c'est que ces lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $("#click").click(function(){
      var newAdress ="{{path('fos_user_compte')}}?tableau="+$('input[name^="qte_"]').serialize();
      document.location.href = newAdress;
     });
    suffisent à résoudre ton problème pour peu que ton code HTML soit correct.

    Il te faut simplement reprendre cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="qte_{{loop.index}}" style="width:20px" type=\"text\" name=qte value={{quantite[produit.id]}}>
    pour quelle devienne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="qte_{{loop.index}}" style="width:20px" type="text" name="qte_{{loop.index}}" value="{{quantite[produit.id]}}">
    ou un truc approchant ne connaissant pas le langage que tu utilises.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Apostrophe dans fonction javascript
    Par davdou dans le forum JSF
    Réponses: 2
    Dernier message: 14/12/2007, 13h26
  2. pb argument dans fonction javascript
    Par martoune dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/07/2007, 15h19
  3. requete sql dans fonction javascript
    Par griese dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/06/2006, 09h44
  4. Réponses: 2
    Dernier message: 16/11/2005, 10h49
  5. Réponses: 5
    Dernier message: 13/08/2004, 15h40

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