Récupérer la valeur de mon select [Résolu]

Messages postés
1081
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
28 août 2019
-
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.
Afficher la suite 

7 réponses

Messages postés
27023
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
318
0
Merci
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).


Commenter la réponse de jordane45
Messages postés
1081
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
28 août 2019
0
Merci
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>
@karamel
Messages postés
1731
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
1 décembre 2019
51 -
et en utilisant

document.getElementById('soulignement').value
Commenter la réponse de barale61
Messages postés
1081
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
28 août 2019
0
Merci
J'obtiens

[object Select]
Commenter la réponse de barale61
Messages postés
1731
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
1 décembre 2019
51
0
Merci
la variable style donne lui un autre nom ca peut etre la cause du probleme
Commenter la réponse de @karamel
Messages postés
1081
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
28 août 2019
0
Merci
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.
Commenter la réponse de barale61
Messages postés
27023
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
318
0
Merci
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); 

Commenter la réponse de jordane45
Messages postés
1081
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
28 août 2019
0
Merci
Oui super ça marche merci encore !
Commenter la réponse de barale61