Récupérer la valeur de mon select

Résolu
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 - Modifié par kazma le 28/12/2013 à 21:41
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 - 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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
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 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 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 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
Modifié par kazma le 28/12/2013 à 23:30
et en utilisant

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

[object Select]
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
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 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
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 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 1
29 déc. 2013 à 17:05
Oui super ça marche merci encore !
0
Rejoignez-nous