Récupérer la valeur de mon select

Résolu
barale61
Messages postés
1171
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
13 mai 2022
- Modifié par kazma le 28/12/2013 à 21:41
barale61
Messages postés
1171
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
13 mai 2022
- 29 déc. 2013 à 17:05
Bonjour,

Je souhaite récupérer la valeur de mon select de cette façon:


var soulignement="";

if (document.emailform.soulignement.value != "")
{
style=document.emailform.soulignement.value;
}
else
{
soulignement='';
}
et dans mon formulaire:

<select size="1" name="soulignement" id="soulignement">
      <option value="text-decoration:underline">Avec soulignement</option>
      <option value="text-decoration:none">Sans soulignement</option>
      </select>

Je sais que je ne dois pas en êre bien loin mais cela me retourne une valeur "undefined".

Je vous remercie de votre aide.

7 réponses

jordane45
Messages postés
35503
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 mai 2022
356
28 déc. 2013 à 21:21
Bonsoir,

N'oublies pas d'utiliser les balises de code stp...

Bon sinon.. Déjà ... ton ELSE n'a aucun interet (ici)
var soulignement=document.emailform.soulignement;
// Pour tester :
if (typeof soulignement=== "undefined") {
    alert("soulignement is undefined");
}else{
  alert(soulignement.value);
}
//------------------------------------------//
if (soulignement.value != ""){
   style=document.emailform.soulignement.value;
} 


Si ton "objet" est undefined... c'est que tu appelles peut-être ton script javascript AVANT que ton objet n'existe...
Tu peux essayer de déplacer ton code JS sous le code html qui te créé ton SELECT.

Si ton souci persiste.. merci de nous coller ici TOUT ton formulaire HTML ainsi que ta fonction JS complète (pas seulement ces quelques lignes).


0
barale61
Messages postés
1171
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
13 mai 2022
1
Modifié par barale61 le 28/12/2013 à 21:42
En fait tout fonctionne sauf pour mon select:


function objectTag() {
var emailcc="";
var emailbody="";
var email="";
var emailsubject="";
var mailtext="";
var title="";
var soulignement="";
if (document.emailform.title.value != "")
{
titre=document.emailform.title.value;
}
else
{
title='';
}
if (document.emailform.soulignement.value != "")
{
style=document.emailform.soulignement.value;
}
else
{
soulignement='';
}
if (document.emailform.linktext.value != "")
{
mailtext=document.emailform.linktext.value;
}
else
{
mailtext='';
}
if (document.emailform.emailtext.value != "")
{
email='\?to\=' + document.emailform.emailtext.value;
}
else
{
email='';
}
if (document.emailform.subtext.value != "")
{
emailsubject='\&subject\=' + escape(document.emailform.subtext.value);
}
else {emailsubject='';
}
if (document.emailform.cctext.value != "")
{
emailcc='\&cc\=' + document.emailform.cctext.value;
}
else
{
emailcc='';
}
if (document.emailform.bodytext.value != "")
{
emailbody='\&body\=' + escape(document.emailform.bodytext.value);
}
else
{
emailbody='';
}
if (document.emailform.emailtext.value != "")
{
return ('<A STYLE=\"'+ style +'\" TITLE=\"'+ titre + '\"' + ' HREF=\"mailto:' + email + emailsubject + emailcc + emailbody +'\">' + mailtext + '</A>');
}
else
{
return('');
}
}


<script language="JavaScript" src="mailto.js"></script>
<link href="mailto.css" rel="stylesheet" type="text/css" />
</head>
<body>

<form name="emailform" method="post" action="">
<table>
<tr>
<td valign="middle" style="width:100px">Texte du lien</td>
<td valign="middle"style="width:250px"><input type="text" name="linktext"></td>
<td valign="middle" style="width:20px"><input style="width:16px;height:16px;valign:middle" type="image" src="mailto.gif" align="middle" onClick='displayHelpMessage("Saisissez le texte qui doit apparaître sur la page")'></td>
</tr>
<tr>
<td valign="middle" style="width:100px">Soulignement</td>
<td valign="middle" style="width:250px"><select size="1" name="soulignement" id="soulignement">
<option value="text-decoration:underline">Avec soulignement</option>
<option value="text-decoration:none">Sans soulignement</option>
</select></td>
<td valign="middle" style="width:20px"><input style="width:16px;height:16px;valign:middle" type="image" src="mailto.gif" align="middle" onClick='displayHelpMessage("Le texte sera souligné ou non.")'></td>
</tr>
<tr>
<td valign="middle" style="width:100px">Texte au survol</td>
<td valign="middle" style="width:250px"><input type="text" name="title" id="title"></td>
<td valign="middle" style="width:20px">
<input style="width:16px;height:16px" type="image" src="mailto.gif" align="middle" onClick='displayHelpMessage("Saisissez le texte qui doit apparaître au survol")'>
</span></td>
</tr>
<tr>
<td valign="middle" style="width:100px">Destinataire</td>
<td valign="middle" style="width:250px"><input type="text" name="emailtext"></td>
<td valign="middle" style="width:20px">
<input style="width:16px;height:16px" type="image" src="mailto.gif" align="middle" onClick='displayHelpMessage("Saisissez le mail du destinataire")'>
</span></td>
</tr>
<tr>
<td valign="middle" style="width:100px">Sujet</td>
<td valign="middle" style="width:250px"><input type="text" name="subtext"></td>
<td valign="middle" style="width:20px">
<input style="width:16px;height:16px" type="image" src="mailto.gif" align="middle" onClick='displayHelpMessage("Saisissez le sujet")'>
</span></td>
</tr>
<tr>
<td valign="middle" style="width:100px">Cc</td>
<td valign="middle" style="width:250px"><input type="text" name="cctext"></td>
<td valign="middle" style="width:20px">
<input style="width:16px;height:16px" type="image" src="mailto.gif" align="middle" onClick='displayHelpMessage("Saisissez le mail pour la copie du message")'>
</span></td>
</tr>
<tr>
<td valign="middle" style="width:100px">Message</td>
<td valign="middle" style="width:250px"><textarea name="bodytext"></textarea></td>
<td valign="middle" style="width:20px">
<input style="width:16px;height:16px" type="image" src="mailto.gif" align="middle" onClick='displayHelpMessage("Saisissez le message que votre visiteur apercevra")'>
</span></td>
</tr>
<tr>
<td></td>
<td valign="middle"></td>
<td valign="middle"><input type="button" onclick="javascript:objectTag()" value="Envoyer"></td>
<td></td>
</tr>
</table>
</form>
0
@karamel
Messages postés
1807
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 mai 2022
144
Modifié par kazma le 28/12/2013 à 23:30
et en utilisant

document.getElementById('soulignement').value
0
barale61
Messages postés
1171
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
13 mai 2022
1
28 déc. 2013 à 23:34
J'obtiens

[object Select]
0
@karamel
Messages postés
1807
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 mai 2022
144
29 déc. 2013 à 11:31
la variable style donne lui un autre nom ca peut etre la cause du probleme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
barale61
Messages postés
1171
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
13 mai 2022
1
Modifié par barale61 le 29/12/2013 à 15:54
Non ça fait pareil. Mais si je fais


<select size="1" value="text-decoration:underline" name="soulignement" id="soulignement">
ça fonctionne mais c'est pas le but d'une liste.
0
jordane45
Messages postés
35503
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 mai 2022
356
29 déc. 2013 à 16:15
En gardant ta balise select comme tu l'avais écrite avant :
<select size="1" name="soulignement" id="soulignement">
      <option value="text-decoration:underline">Avec soulignement</option>
      <option value="text-decoration:none">Sans soulignement</option>
      </select>


Essayes ça pour en récupérer sa valeur :
var e = document.getElementById("soulignement");
var style = e.options[e.selectedIndex].value;
alert(style); 

0
barale61
Messages postés
1171
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
13 mai 2022
1
29 déc. 2013 à 17:05
Oui super ça marche merci encore !
0