Avatar billede mercutio Nybegynder
31. august 2001 - 10:43 Der er 8 kommentarer og
2 løsninger

Værdi fra en form til en jsp variable.

Når jeg nu har koden nedenfor i min jsp fil og folk så kan vælge et navn fra listen der bliver lavet. Hvordan får jeg så hentet den værdi de vælger? Jeg skal bruge den til at lave en forespørgsel i en db.


<form name=\"form1\" action=\"\" method=\"post\">
  <select name=\"menu1\" onChange=\"MM_jumpMenu(\'parent\',this,0)\">
    <%    ResultSet rs = dbhandler.doQuery(\"Select * from ansatte\");   
        while( rs.next() )
        {%>
    <option value=\"temp.jsp\"><% out.println(rs.getString(\"navn\")); %></option>
        <% } %>
   
  </select>
</form>
Avatar billede nute Nybegynder
31. august 2001 - 10:47 #1
<%
String menu1 = request.getParameter(\"menu1\");
if( menu1 != null ){
  // Alt ok
} else {
  // Noe gikk galt
}
%>
Avatar billede senj Nybegynder
31. august 2001 - 10:48 #2
På siden der modtager skriveer du:

variable = request.getParameter(\"manu1\");
Avatar billede mercutio Nybegynder
31. august 2001 - 10:49 #3
Den skriver null ud hele tiden.... men den burde skrive temp.jsp ud hver gang ikke?


<form name=\"form1\" action=\"\" method=\"post\">
  <select name=\"menu1\" onChange=\"MM_jumpMenu(\'parent\',this,0)\">
    <%    ResultSet rs = dbhandler.doQuery(\"Select * from ansatte\");   
        while( rs.next() )
        {%>
    <option value=\"temp.jsp\"><% out.println(rs.getString(\"navn\")); %></option>
        <% } %>
   
  </select>
</form>
        <%
        String tilsql = request.getParameter(\"menu1\");
        out.println(tilsql);
Avatar billede nute Nybegynder
31. august 2001 - 10:52 #4
Første gang du loader siden, vil jo aldri parameteret \'menu1\' bli sendt til siden.

/nute
Avatar billede senj Nybegynder
31. august 2001 - 10:53 #5
hvorfor har du value som temp.jsp - burde det ikke være <% out.println(rs.getString(\"navn\")); %> også i value så det selecten viser er dette samme som værdien der tages med over?
Avatar billede mercutio Nybegynder
31. august 2001 - 10:56 #6
Jo ligepræcist men lige nu skal jeg bare have den til at vise et eller andet =)
Avatar billede logical Nybegynder
31. august 2001 - 10:56 #7
Du skal kigge på dit option tag, et kort eksempel fra din kode (parsed):

<select name=\"menu1\">
<option value=\"temp.jsp\">x</option>
<option value=\"temp.jsp\">y</option>
</select>
Hvis man vælger x vil formularen sende følgende til din jsp side:
menu1=temp.jsp

Hvis man vælger y vil formularen sende:
menu1=temp.jsp

Fordi du har en value i din option. x/y bruges til visning, mens value sendes over, når punktet vælges. Hvis der ikke er nogen value, sendes x/y til jsp siden.

En løsning er at fjerne value=\"temp.jsp\" eller erstatte den med en mere sigende value, f.eks. et unikt id eller noget.

<option value=\"<%= rs.getString(\"ansat_id\") %>\" > <%= rs.getString(\"navn\") %></option>
Avatar billede mercutio Nybegynder
31. august 2001 - 11:17 #8
Tak Logical... jeg ved ikke lige hvorfor men når jeg bruger ansat_id fra min database som du sjovt nok ramte så virker det. Men hvis jeg vil bruge navn som før så får jeg en masse fejlmeddelelser.
Avatar billede mercutio Nybegynder
31. august 2001 - 11:21 #9
også tak til dig Nute =)
Avatar billede nute Nybegynder
31. august 2001 - 11:24 #10
selv takk :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester