11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Voila j'ai besoin d'un peu d'aide.
Je souhaiterais pouvoir récuperais les valeurs d'un array PHP en javascript pour pouvoir envoyer les données en $.post.

Traitement PHP aucun souci par contre je ne trouve pas comment récuperais les données en Jquery.

En PHP j'ai <input type="checkbox" name="jour[]" value="'.$i.'" checked="checked" /> lors de l'envoi du formulaire j'arrive à traiter. Mais comment faire pour récuperais les valeurs avec Jquery ?

Merci d'avance !
Modifié par Viva25 (27 Oct 2011 - 13:43)
Je ne comprend pas exactement la question, donc je vais répondre assez vaguement :

A voir :
.serialize() pour envoyer tout formulaire
et/ou
les fonctions JSON de jquery (et de PHP) pour travailler avec des tableaux entre PHP et JS simplement.
Hello,

je m'explique :
J'ai une page ou je selectionne des jours : du lundi au vendredi avec des checkbox en php dans ma boucle j'ai :


<input type="checkbox" name="jour[]" value="'.$i.'" checked="checked" />


Quand j'envoi le formulaire j'arrive bien à récuperais les données.
Je souhaiterias faire pareil mais sans changer de page en passant par jquery.
Je n'arrive pas à récuperais toutes les valeurs de name="jour[]".

j'ai test comme ça : jour = $(this).find("input[name=jour[]]").val(); mais ça ne me retourne que une seul valeur.
Pour moi, je ferai comme ça :

tu récupères les checkbox qui sont coché via
jour[]:checked


Ensuite, je parcours le tout via
$.each()


Quelque chose comme ça

$.each($('input[name="jour[]"]:checked'), function() {
   // tu récupère les valeurs ici via .val();
   // tu peux éventuellement reconstituer un tableau si tu en as besoin
});
D'accord mais une question pour envoyer les données sur ma page de traitement tu me conseil quoi ? $.post ? autres ?
je n'utilise jamais $.post à vrai dire, ce n'est qu'un raccourci de $.ajax, autant l'utiliser directement et ça permet de mettre les paramètres plus facilement à mes yeux (et une seule syntaxe à retenir).

Ton objectif final c'est quoi exactement ?

Envoyer ton formulaire via Ajax ?
faire un traitement par rapport aux données que tu as et ensuite envoyer le formulaire par ajax/sans ajax ?
Oui effectivement je souhaite envoyé mon formulaire via Ajax.
Quand je clique sur valider un loader apparait et disparait une fois le traitement effectué.

Je viens de tester :

$.each($('input[name="jour[]"]:checked'), function() {
alert($(this).val());
});

mais cela ne marche pas il me retourne les jours mêmes si il ne sont pas coché.
Modifié par Viva25 (27 Oct 2011 - 12:41)
As-tu essayé .serialize() donc ?


<form id="id_de_ton_form" action="..." ...>

$.ajax({
  url: $('#id_de_ton_form').attr('action'),
  data:$('#id_de_ton_form').serialize(),
  success: function(){
    // affichage final
  }
});