Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/02/2008, 19h34   #1
Membre éprouvé
 
Avatar de Katachana
 
Inscription : avril 2007
Messages : 745
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2007
Messages : 745
Points : 440
Points : 440
Par défaut [PHP-JS] Récupérer texte d'un select multiple

Bonjour,

Je souhaite savoir comment récupérer le texte entre les balises <option> de mon select et pas seulement les données "value" via $_POST.

VCoila comment je fais pour l'instant :
Code :
1
2
3
4
5
6
7
8
9
 
    if(isset($_POST['select_hide']) && !empty($_POST['select_hide'])){
	$Col1_Array = $_POST['select_hide'];
	print_r($Col1_Array);
        foreach($Col1_Array as $selectValue){
		//affichage des valeurs sélectionnées
                echo $selectValue."<br>";
	}
}

Traitement javascript pour le submit:
Code :
1
2
3
4
5
6
7
8
function traitementAvantSubmit(ListBox,HiddenSelect,thisForm){
 
for (var i = 0; i < ListBox.length; i++) {
HiddenSelect.options[HiddenSelect.length] = new Option(ListBox.options[i].text, ListBox.options[i].value,false,true);
 
 
thisForm.submit();
}
Merci d'avance!
Katachana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2008, 19h55   #2
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
Bonjour,

Cette valeur n'est pas postée. Tu ne peux donc pas la récupérer avec PHP.
Pour ce qui est du javascript ca doit être faisable en récupérant le innerHTML (beurk) de l'élément DOM
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2008, 20h38   #3
Membre régulier
 
Inscription : septembre 2006
Messages : 146
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : septembre 2006
Messages : 146
Points : 87
Points : 87
Autres possibilités :

Placer le label également dans le value, en plaçant un séparateur entre les deux.

D'où viennent les données de ton select ?
D'une base ?
Dans ce cas tu peut aller récupérer les valeurs dans la base

Tappé dans la page html ?
Créé un tableau avec la valeur de tes options.
Parcours ce tableau pour obtenir les options et place les index en value.
Quand tu a envoyé le formulaire tu peut récupérer le bon contenu avec l'index posté.
__________________
Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres...
Bloodscalp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2008, 20h57   #4
Membre éprouvé
 
Avatar de Katachana
 
Inscription : avril 2007
Messages : 745
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2007
Messages : 745
Points : 440
Points : 440
Elles viennent d'une base, mais sont manipulé avant d'etre inclus dans le select, d'où mon obligation de les récupérer.

Sinon dans je peux mettre une chaine de caractère dans la méthode value javascript?

Ce me semble bizarre qu'il n'y ait pas de solution plus simple a ce problème que je trouve assez contraignant.


En javacript , il doit etre possible d'inclure ces infos propempent lors du submit non ?
Katachana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2008, 21h04   #5
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
Tu peux toujours comme l'a dis Bloodscalp, concaténer dans le value.

Du genre
Code :
1
2
 
<option value="id-Label">Label</option>
Et dans ton PHP faire quelque chose comme :

Code :
1
2
 
list($id, $label) = explode('-', $_POST['select_hide'], 2);
C'est barbar mais ca marche
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2008, 21h09   #6
Membre éprouvé
 
Avatar de Katachana
 
Inscription : avril 2007
Messages : 745
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2007
Messages : 745
Points : 440
Points : 440
Merci quand même pour la solution! ca se marie tres bien avec le reste de mon code

Quand on a des exigences de temps strict et pas les compétences initiales , faut faire avec
Katachana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 09h56   #7
Membre régulier
 
Inscription : septembre 2006
Messages : 146
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : septembre 2006
Messages : 146
Points : 87
Points : 87
Attention tout de même au séparateur utilisé, le "-" peut se retrouver dans ton label et dans ce cas tu ne pourras pas récupérer toute la valeur.

id-label
5-Sous-tasse

id=5
label=Sous

Alors qu'avec un séparateur du genre "&&" on a quand même moins de risques...
__________________
Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres...
Bloodscalp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 10h36   #8
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
non, d'ou le 3eme paramètre de explode
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 11h46   #9
Membre éprouvé
 
Avatar de Katachana
 
Inscription : avril 2007
Messages : 745
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2007
Messages : 745
Points : 440
Points : 440
Merci pour les infos , ce conseil tombe j'ai des caractere "-" dans mes chaines de caracteres.


Sinon p'tite question bete ....

Code :
list($id, $label) = explode('-', $_POST['select_hide'], 2);

J'ai un probleme avec ce code => array to string conversion , et pour l'instant à part le remplacer par ca , je n'ai pas trouvé mieux :
Code :
1
2
3
4
5
6
7
$id=array();
	$label=array();
	foreach($Col1_Array AS $selectValue){
	$idLabel = explode('&&',$selectValue, 2);
	array_push($id,$idLabel[0]);
	array_push($label,$idLabel[1]);
	}
Je perd au change !!!!
Katachana est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h14.


 
 
 
 
Partenaires

Hébergement Web