Enregistrer la valeur d'une liste déroulante

Résolu/Fermé
rooloulou - 6 févr. 2008 à 13:21
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 - 6 févr. 2008 à 15:02
Bonjour,
voilà, j'essaye desesperement de passer la valeur selectionnée par l'utilisateur dans une variable que j'ai appelé valueSelect.
j'essaye ça:

<script language="JavaScript">
function setLine(value){
valueSelect = value;
}
</script>
<select name=line onchange="setLine(this.options[this.selectedIndex].value);">

et oooo drame cela ne marche pas....
merci infiniement de vos réponses,
éléonore.
A voir également:

10 réponses

Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 43
6 févr. 2008 à 13:28
Chez moi, ce code fonctionne :

<html>
<body>
 <script language="JavaScript">
var valueSelect;
function setLine(value){
valueSelect = value;
alert(valueSelect);
}
</script>
<select name=line onchange="setLine(this.options[this.selectedIndex].value);"> 
<option value="un">1</option>
<option value="deux">2</option>
</select>
</body>
</html>
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 385
6 févr. 2008 à 13:34
Bonjour,

Le code ci-dessous doit faire ce que tu veux:

<script language="JavaScript">
function setLine(value)
{
  valueSelect = value;
}
</script>

<body>
<select name=line onchange="setLine(this.options[this.selectedIndex].value);" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</body>


A plus
0
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 43
6 févr. 2008 à 13:36
Ouai, le même que moi quoi :-p

Non mais je pense que son problème vient du fait que sa variable était déclarée à l'interieur de la fonction.

Elle était donc inutilisable une fois la fonction terminée.
0
merci beaucoup pour vos réponses,
c'est vraie que l'on dirait que la valueSelect est bien affectée, mais pour une raison que je comprends pas ça ne s'applique pas dans ma liste liée. je vous montre:

<script language="JavaScript">
var valueSelect;
function setLine(value){
valueSelect = value;
alert(valueSelect);
}
</script>
<select name=line onchange="setLine(this.options[this.selectedIndex].value);">
<OPTION>--- Choose your line ---</OPTION>
<%
try{
conn = DriverManager.getConnection(url,username,password);
Statement stmt = conn.createStatement();
ResultSet rs1= stmt.executeQuery("select lineName from line ");
while (rs1.next()) {
%>

<option value="<%=rs1.getString("lineName")%>"><%=rs1.getString("lineName")%></option>
<%
}
rs1.close();
stmt.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
%>
</select>

<br/>
the station:
<select name=station>

<%
PreparedStatement stmt = conn.prepareStatement("SELECT stationName FROM stationLine WHERE lineName LIKE" +"(?)");
stmt.setString(1,valueSelect);
ResultSet rs1= stmt.executeQuery();
while (rs1.next()) {
%>

<option value="<%=rs1.getString("stationName")%>"><%=rs1.getString("stationName")%></option>
<%
}
rs1.close();
stmt.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
%>
</select>

..c'est pas très lisible je suis désolée, mais je sais pas comment mettre ça dans une boite déroulante comme vous faite habituellement...
si quelqu'un a une idée pourquoi la deuxième liste ne tiens pas compte de la nouvelle valeur de valueSelect..
merci beaucoup
0
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 43
6 févr. 2008 à 13:44
Pourrais -tu nous mettre le code html généré au final ?
0

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

Posez votre question
heu...je sais pas faire je crois.
là c'est du jsp intégré dans du html...mais j'imagine que le principe doit etre le meme...
je comprend pas pourquoi valueSelect, que j'ai affecté au tout début de mon code ne se modifie pas quand
je selectionne une valeur dans la première liste..
merci de ta réponse,
eleonore
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 385
6 févr. 2008 à 14:04
Bonjour,

Je pense que l'erreur ne vient pas de la valeur de valueSelect mais dans le code utilisé pour lire la base de données, je pense que le code devrait être:

PreparedStatement stmt = conn.prepareStatement("SELECT stationName FROM stationLine WHERE lineName LIKE" +"'(?)'");
stmt.setString(1,valueSelect);
ResultSet rs1= stmt.executeQuery();



Il faut, je crois mettre la valeur à testé pour un LIKE entre deux '

A plus
0
en fait, jai initialisé au départ ma variable valueSelect par un
<% String valueSelect="central"; %>
je crois que le problème vient de là, comme si il y avait deux valueSelect distinctes, car quand je test dans
la deuxième liste déroulante en mettant
<OPTION><%=valueSelect%></OPTION>

la valueSelect reste toujours la valeur initial que j'avais mise, donc ne tiens pas compte de mes changements...
bizzard...
merci de ta réponse,
0
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 43
6 févr. 2008 à 14:24
Ah non mais tu confonds tout !

Ta variable ValueSelect ASP n'ets pas du tout la même que ta variable Javascript !
0
ok ok,
je comprend mieux merci,
mais alors,
comment passer la valeur de la variable javascript dans ma variable ASP...
0
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 43
6 févr. 2008 à 15:02
Tu remplaces la ligne :

var valueSelect;

par :


var valueSelect = <%=rs1.getString("lineName")%>;

Pour passer de l'ASP vers java.

Pour la contraire, il faut utiliser une variable d'URL.
PAr exemple, enfaisant :

http://www.test.com/index.asp?valueSelect=2

Tu pourras récupérer la variable dans ton code ASP.

Fais une recherche sur les variables GET et ASP.
0