Plusieurs sélection PHP/JQUERY

Par MehdiWEB, il y a 11 ans


Bonsoir,
j'aimerai réaliser un sysèteme assez particulier mais je n'ai aucune idée de comment sa marche ou comment je peux m'y prendre j'ai fait plusieurs rechecrhe sur google mais hélas aucun résultat donc je m'en remet à vous, voici mon problème:

J'ai un champs (select) dans mon formulaire qui contient plusieurs langue et j'aimerai qu'on puisse selectionner plusieurs langue à la fois donc je sais pas comment sa marche niveau JS et niveau POST(PHP). Merci.

30 réponses

antho07, il y a 11 ans

?????

Comment tu fais passer l'information entre le contenu de ta variable js et ton debug php ???

Chagry Rpc, il y a 11 ans

en js Tu transforme ton array en string !!!

antho07, il y a 11 ans

Bonjour ça s'appele un select multiple.

En tapant select multiple javascript sur google... tu auras des milliers de liens qui répondent à ta question.

cordialement

Antho

MehdiWEB, il y a 11 ans

Pourquoi tu me dit ça, je t'ai dit que je n'avais pas trouvé sur google sa sert à rien de revenir dessus si tu n'a pas la réponse ne répond pas.

MehdiWEB, il y a 11 ans

Bonsoir j'ai réussi à faire la chose que je voulais faire, mais mon formulaire est soumis par jQuery ($.post) donc pour recup je fait sa:

$('#langue').val();

Ducoup quand je var_dump sa me met Array , c'est en forme de tableau.

Lartak, il y a 11 ans

C'est normal que ce soit sous forme de tableau, vu que tu as plusieurs données envoyées pour le même champ.
Il te suffit simplement de traiter le tableau du côté de PHP.

MehdiWEB, il y a 11 ans

Oui mais du côté de javascript sa ne l'envoie pas en tabelau, sa me retourne juste Array mais quand je var_dump sa me retourn 1

Chagry Rpc, il y a 11 ans

Tu transforme ton array en string!!!

antho07, il y a 11 ans

'sa ne l'envoie pas en tabelau, sa me retourne juste Array' => qui retourne ça ? et où ?

MehdiWEB, il y a 11 ans

Le PHP retourne sa

antho07, il y a 11 ans

Le tableau est vide tu veux dire?
Dans ce cas les données ne sont pas passées depuis le javascript...
Tu les as envoyées comment?

MehdiWEB, il y a 11 ans

Code HTML:

<select id='langue' multiple='multiple'> <option value="francais">Français</option> <option value="anglais">Anglais</option> <option value="espagnol">Espagnol</option> </select>

Code JS:

var langue = $('#langue').val().length > 1 ? $('#langue').val() : ErrorRegister('langue');

Code PHP:

var_dump($langue);

sa retourne rien

MehdiWEB, il y a 11 ans

@antho07 c'est une structure MVC sa passe par des fonction etc.. la variable langue existe belle bien et elle récupère le cotenue du select ne t'en fait pas
@Chagry Rpc comment?

Chagry Rpc, il y a 11 ans
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var energy = fruits.join();

google est ton ami comme a dit "antho07"

MehdiWEB, il y a 11 ans

Je ne m'y connais pas en js, sa serai cool que t'adapte ton code pour mon cas.

antho07, il y a 11 ans

t"es en ajax?
Le but est bien de récupérer les valeurs sélectionnées en js et les envoyées en ajax au serveur ??

MehdiWEB, il y a 11 ans

Le but est de récuperer les valeurs selectionné dans le select et des les afficher en PHP

antho07, il y a 11 ans

Mais sans js alors???

MehdiWEB, il y a 11 ans

Si le formulaire est envoyé en JS

Chagry Rpc, il y a 11 ans
$('#langue').val().join();
MehdiWEB, il y a 11 ans

Quand je print_r($langue); sa me retourne 1, et quand je var_dump sa me retourne rien

Chagry Rpc, il y a 11 ans
var fruits = $('#langue').val(); var energy = fruits.join();

return energy to php.

MehdiWEB, il y a 11 ans

Toujours la même chose, rien ne change.

antho07, il y a 11 ans

Comment est-il envoyé en js... c'etait ma question ...
via jquery ? avec un XMLHttpRequest construits à la main ?

MehdiWEB, il y a 11 ans
$.post('register',{langue:langue},function(data) { });
antho07, il y a 11 ans
console.log(langue); // ça affiche quoi ici ? $.post('register',{langue:langue},function(data) { });

Peux-tu aussi regarder dans le reseau si la requête part bien et si les données sont bien présentes (niveau formdata) ?

Si la console.log est ok mais que rien n'est retrouvé niveau php dans $_POST["langue"] , il faudra peut être forcer à la main le contentType à application/x-www-form-urlencoded

MehdiWEB, il y a 11 ans

J'ai sélectionner (francais et anglais) dans mon select et donc en console sa m'a afficher:
francais,anglais
Sa marche bien mais quand je print_r $langue sa affiche 1...

antho07, il y a 11 ans

affiche $_POST

antho07, il y a 11 ans

Force la sérialisation :

var objectParams = {langue:langue}; var params = $.param(objectParams); $.post('register',params,function(data){ });