Récupération texte option pour modification js dans onChange

Résolu/Fermé
mrpeek Messages postés 8 Date d'inscription samedi 9 mars 2013 Statut Membre Dernière intervention 10 mai 2019 - 9 mars 2013 à 08:47
mrpeek Messages postés 8 Date d'inscription samedi 9 mars 2013 Statut Membre Dernière intervention 10 mai 2019 - 9 mars 2013 à 20:50
Bonjour,

Comment faire pour récupérer et remettre en forme dans un formulaire qui recharge la page automatiquement (onChange) les données texte des options ?
Je m'explique, voici mon code :

<form action="<? $PHP_SELF; ?>" method="post">
<select name="taille" id="taille" onChange="document.location.href='vetements-'+ this.options[this.selectedIndex].text +'-'+ this.value +'.html'">
<option value="3">Taille 36</option>
<option value="4">Taille 38</option>
<option value="5" >Taille 40</option>
</select>
</form>


J'obtiens donc l'URL suivante avec ce code si je sélectionne la première valeur :
vetements-Taille%2036-3.html

Or je souhaiterai obtenir
vetements-taille-36-3.html

Pour cela il faut traiter la chaine ce caractères "Taille 36" (this.options[this.selectedIndex].text) en passant les majuscules en minuscules et en remplaçant les espaces par des "-".

Pourriez-vous m'éclairer ?

Merci

A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 9/03/2013 à 13:48
et si tu fais comme ça ?

<form action="<?php echo  $PHP_SELF; ?>" method="post"> 
<select name="taille" id="taille" onChange="document.location.href='vetements-'+document.getElementById(this.id)+'.html'"> 
<option value="taille-36">Taille 36</option> 
<option value="taille-38">Taille 38</option> 
<option value="taille-40" >Taille 40</option> 
</select> 
</form>
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
9 mars 2013 à 15:13
ou en restant dans le même esprit que ton code initial:
<script type="text/javascript">
function page_html(id_choix,n_index){
	//on atteint l'élément option choisi
	var choix=document.getElementById(id_choix);
	
	if(choix.value !=""){	
		//si ce n'est pas la première ligne (--Choisissez--)
			//recup du texte
		var texte_option=choix.options[n_index].text;
			//remplacement de l'espace en -			
		var reg=new RegExp(" ", "g");
		texte_option=texte_option.replace(reg,"-");
		//mise en minuscules
		texte_option=texte_option.toLowerCase();
		//construction de l'url
		var url="vetements-"+texte_option+"-3.html";
		//redirection
		document.location.href=url;
	}

}

</script>

<form action="<?php echo $PHP_SELF; ?>" method="post">

<select name="taille" id="taille" onChange="page_html(this.id,this.selectedIndex);">
<!-- pour avoir un changement à chaque fois il faut cette ligne --Choisissez-- sinon on ne peut pas choisir directement Taille 36 -->
<option value="">--Choisissez--</option>
<option value="3">Taille 36</option>
<option value="4">Taille 38</option>
<option value="5" >Taille 40</option>
</select>
</form>
0
mrpeek Messages postés 8 Date d'inscription samedi 9 mars 2013 Statut Membre Dernière intervention 10 mai 2019 2
9 mars 2013 à 20:50
Merci beaucoup Alain, c'est exactement ce qu'il me fallait
0