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.
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();
google est ton ami comme a dit "antho07"
Force la sérialisation :
var objectParams = {langue:langue};
var params = $.param(objectParams);
$.post('register',params,function(data){
});
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
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.
=> http://javascript.developpez.com/faq/javascript/?page=formChamps#valSelectMult
(il y a plein de liens => https://www.google.fr/search?q=select+multiple+javascript&oq=select+multiple+javascript&aqs=chrome..69i57j0l5.8004j0j4&sourceid=chrome&es_sm=93&ie=UTF-8#q=select+multiple+javascript )
et ensuite t'es en ajax visiblement donc tu envois ça sous le format que tu veux côté php.. en tableau ça devrait convenir
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.
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.
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
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?
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
?????
Comment tu fais passer l'information entre le contenu de ta variable js et ton debug php ???
@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?
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 ??
Le but est de récuperer les valeurs selectionné dans le select et des les afficher en PHP
Quand je print_r($langue); sa me retourne 1, et quand je var_dump sa me retourne rien
Comment est-il envoyé en js... c'etait ma question ...
via jquery ? avec un XMLHttpRequest construits à la main ?
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
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...