Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 10:03 Der er 21 kommentarer og
1 løsning

Hent værdi fra <select>

Jeg skal hente de værdier som er markeret i nedenstående select.

Jeg har prøvet med request.getParameterNames(), men der får jeg ikke en gang navnet på select vist.

Hvordan gør man det så???

<select multiple name=\"departmentSelItems\"
  ondblclick=\"doItems(\'select\',\'departmentSelItems\',\'departmentAvailItems\');\"
style=\"width:230; height:100\">
Avatar billede disky Nybegynder
26. marts 2001 - 10:05 #1
kom lige med hele den webside
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 10:09 #2
den er sådan ca. ret stor
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 10:10 #3
out.println(\"<form name=\'frmUser\' action=\'SaveUser.jsp\' method=\'post\'>\");

if (! newUser)
    out.println(\"<input type=\'hidden\' name=\'action\'>\");
else
    out.println(\"<input type=\'hidden\' name=\'action\' value=\'new\'>\");
   
out.println(\"<table class=\'info\' cellspacing=\'0\'>\");
  out.println(\"<tr>\");
      out.println(\"<th colspan=\'2\'>Rediger bruger</th>\");
  out.println(\"</tr>\");
  out.println(\"<tr><td colspan=\'2\' height=\'5\'></td></tr>\");


newUser = qstring.equals(\"new\");

if (! newUser)
{
userId = qstring.substring(qstring.indexOf(\"=\")+1);
v = adm.getWapUser(userId);
}
  out.println(\"<tr>\");
  out.println(\"<td width=\'25%\'><img src=\'/images/space.gif\' height=\'10\' width=\'10\' align=\'left\'>\");
  out.println(\"UserId:&nbsp;\");
  out.println(\"</td><td>\");

  if (! newUser)
    out.println(\"<input type=\'text\' name=\'UserId\' size=\'12\' maxlength=\'12\' value=\'\" + (String)v.elementAt(0) + \"\'>\");
  else
    out.println(\"<input type=\'text\' name=\'UserId\' size=\'12\' maxlength=\'12\' value=\'\'>\");

  out.println(\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\");
  out.println(\"</td>\");
  out.println(\"</tr>\");
  out.println(\"<tr>\");
  out.println(\"<td><img src=\'/images/space.gif\' height=\'10\' width=\'10\' align=\'left\'>\");
  out.println(\"For- efternavn:&nbsp;</td>\");
  out.println(\"<td nowrap>\");
 
  if (! newUser)
    out.println(\"<input type=\'text\' name=\'firstName\' size=\'23\' maxlength=\'80\' value=\'\"+(String)v.elementAt(1)+\"\'>\");
  else
    out.println(\"<input type=\'text\' name=\'firstName\' size=\'23\' maxlength=\'80\' value=\'\'>\");
   
  out.println(\"&nbsp;&nbsp;\");
 
  if (! newUser)
    out.println(\"<input type=\'text\' name=\'lastName\' size=\'23\' maxlength=\'80\' value=\'\"+(String)v.elementAt(2)+\"\'>\");
  else
    out.println(\"<input type=\'text\' name=\'lastName\' size=\'23\' maxlength=\'80\' value=\'\'>\");

  out.println(\"</td></tr>\");

  out.println(\"<tr>\");
    out.println(\"<td><img src=\'/images/space.gif\' height=\'10\' width=\'10\' align=\'left\'>\");
    out.println(\"Kodeord:&nbsp;\");
    out.println(\"</td><td nowrap>\");
    if (! newUser)
      out.println(\"<input type=\'password\' name=\'password\' size=\'23\' maxlength=\'12\' value=\'\"+(String)v.elementAt(3)+\"\'>\");
    else
      out.println(\"<input type=\'password\' name=\'password\' size=\'23\' maxlength=\'12\' value=\'\'>\");
     
    out.println(\"</td>\");
  out.println(\"</tr>\");

  out.println(\"<tr>\");
    out.println(\"<td><img src=\'/images/space.gif\' height=\'10\' width=\'10\' align=\'left\'>\");
    out.println(\"Timeregistrering bekræftelse:&nbsp;</td>\");
    out.println(\"<td nowrap>\");
   
    if (! newUser)
      out.println(\"<input type=\'password\' name=\'timeregPwd\' size=\'23\' maxlength=\'4\' value=\'\"+(String)v.elementAt(4)+\"\'>\");
    else
      out.println(\"<input type=\'password\' name=\'timeregPwd\' size=\'23\' maxlength=\'4\' value=\'\'>\");
     
    out.println(\"</td>\");
  out.println(\"</tr>\");

  out.println(\"<tr><td colspan=\'2\'>&nbsp;<br></td></tr>\");

  out.println(\"<tr>\");
    out.println(\"<td><img src=\'/images/space.gif\' height=\'10\' width=\'10\' align=\'left\'>\");
    out.println(\"Skal benytte bekræftelseskode:&nbsp;\");
    out.println(\"</td><td>\");
    if (! newUser)
    {
      if (((String)v.elementAt(5)).equals(\"1\"))
        out.println(\"<input type=\'checkbox\' name=\'beUsed\' checked>\");
      else
        out.println(\"<input type=\'checkbox\' name=\'beUsed\'>\");
    }
    else
        out.println(\"<input type=\'checkbox\' name=\'beUsed\'>\");
   
    out.println(\"</td>\");
  out.println(\"</tr>\");

  out.println(\"<tr>\");
    out.println(\"<td><img src=\'/images/space.gif\' height=\'10\' width=\'10\' align=\'left\'>\");
    out.println(\"Note:&nbsp;\");
    out.println(\"</td><td nowrap>\");
   
    if (! newUser)
      out.println(\"<input type=\'text\' name=\'note\' size=\'23\' maxlength=\'80\' value=\'\"+(String)v.elementAt(6)+\"\'>\");
    else
      out.println(\"<input type=\'text\' name=\'note\' size=\'23\' maxlength=\'80\' value=\'\'>\");
     
    out.println(\"</td>\");
  out.println(\"</tr>\");
%>
</table>
<br>



<table class=\"info\" cellspacing=\"0\">
  <tr>
    <th colspan=\"3\">Intranetgrupper</th>
  </tr>
  <tr><td colspan=\"3\" height=\"5\"></td></tr>
  <tr>
    <td align=\"center\"><img src=\"/images/0checkbox.gif\"></td>
    <td>&nbsp;</td>
    <td align=\"center\"><img src=\"/images/1checkbox.gif\"></td>
  </tr>
  <tr>
    <td valign=\"top\" align=\"right\">
      <select multiple name=\"departmentSelItems\"
          ondblclick=\"doItems(\'select\',\'departmentSelItems\',\'departmentAvailItems\');\"
          style=\"width:230; height:100\">

<%
Vector notChosen;
Vector chosen;

// userId=\"bri\";

notChosen = adm.getNotChosenRights(userId);
chosen = adm.getChosenRights(userId);

if (notChosen!=null)
{
  for (int i=0;i<notChosen.size();i++)
  {
  out.println(\"<option value = \'\" + (String)notChosen.elementAt(i++) + \"\'>\");
  out.println((String)notChosen.elementAt(i));
  }
}
%>
      </select>
    </td>
    <td align=\"center\" width=\"50\">
      <input type=\"image\" src=\"/images/rightarrow.gif\" value=\" -> \"
          onclick=\"doItems(\'select\',\'departmentSelItems\',\'departmentAvailItems\'); return false;\">
            <br><br>
      <input type=\"image\" src=\"/images/leftarrow.gif\" value=\" <- \"
          onclick=\"doItems(\'unselect\',\'departmentSelItems\',\'departmentAvailItems\'); return false;\">
    </td>
    <td valign=\"top\" align=\"left\">
      <select multiple name=\"departmentAvailItems\"
          ondblclick=\"doItems(\'unselect\',\'departmentSelItems\',\'departmentAvailItems\');\"
          style=\"width:230; height:100\">

<%
if (chosen!=null)
{
  for (int i=0;i<chosen.size();i++)
  {
  out.println(\"<option value = \'\"+(String)chosen.elementAt(i++)+\"\'>\");
  out.println((String)chosen.elementAt(i));
  }
}

%>
      </select>
    </td>
  </tr>
</table>

<br>

<center>
  <input class=\"button\" type=\"submit\" name=\"OK\" value=\"OK\">
  &nbsp;&nbsp;&nbsp;

  <input class=\"button\" type=\"button\" value=\"Slet\" onclick=\"gotoURL(\'delete\')\">
  &nbsp;&nbsp;&nbsp;

  <input class=\"button\" type=\"button\" value=\"Annuller\" onclick=\"gotoURL(\'return\')\">
</center>

</form>
Avatar billede disky Nybegynder
26. marts 2001 - 10:10 #4
okay, hvad så med den kode der forsøger at finde navnet på den select (java koden)
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 10:11 #5
jeg tænkte det må være rigeligt med formen
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 10:12 #6
<%
String action = request.getParameter(\"action\");

String userId = request.getParameter(\"userId\");
String firstname = request.getParameter(\"firstName\");
String lastname = request.getParameter(\"lastName\");
String password = request.getParameter(\"password\");
String timeregPwd= request.getParameter(\"timeregPwd\");
String beUsed= request.getParameter(\"beUsed\");
String note = request.getParameter(\"note\");
String groups = request.getParameter(\"departmentAvailItems\");

if (beUsed.equals(\"on\"))
  beUsed=\"1\";
else
  beUsed=\"0\";

Enumeration e = request.getParameterNames();
 
while (e.hasMoreElements())
{
  System.out.println(e.nextElement());
}
adm.saveUser(action, userId, firstname, lastname, password, timeregPwd, beUsed, note, groups);
response.sendRedirect(\"AllUsers.jsp\");
%>
Avatar billede disky Nybegynder
26. marts 2001 - 10:31 #7
det kan jeg ikke umiddelbart se hvad der skulle være galt med. :(

Det skulle virke sådanne som du gør det

Meget mystisk
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 10:34 #8
Den udskriver ikke en gang departmentAvailItems i while-løkken, eller departmentSelItems
Avatar billede disky Nybegynder
26. marts 2001 - 10:50 #9
Har lige prøvet følgende JSP side og der virker det ligesom det skal:
(ja det er slam kodning når det er bedst)


<%@page contentType=\"text/html\"%>

<%
    if(request.getMethod().equals(\"POST\"))
{
    java.util.Enumeration e = request.getParameterNames();
 
    while (e.hasMoreElements())
    {
          %><br><p>navn = <%=e.nextElement()%></p><%
    }
try
{
    %>Value = <%=request.getParameter(\"select\")%>
<%
}
catch (Exception dde)
{

}
}


%>

<html>
<head><title>JSP Page</title></head>
<body>

<%-- <jsp:useBean id=\"beanInstanceName\" scope=\"session\" class=\"package.class\" /> --%>
<%-- <jsp:getProperty name=\"beanInstanceName\"  property=\"propertyName\" /> --%>

<form name=\"myform\" method=\"POST\">
<select name=\"select\" size=\"10\">
    <option value=\"5\">Miami</option><option value=\"4\">Jord</option><option value=\"3\">Graes</option><option value=\"2\">Cement</option><option value=\"1\">Asfalt</option>
</select>
<INPUT TYPE=\"SUBMIT\" NAME=\"Submit1\">
</form>

</body>
</html>
Avatar billede disky Nybegynder
26. marts 2001 - 10:50 #10
ups det var altså et svar :-)
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 11:00 #11
Hov, jeg har lige fundet ud af at der først er et problem når jeg bruger multiple i select
Avatar billede disky Nybegynder
26. marts 2001 - 11:06 #12
Så gør sådanne her istedet:

<%@page contentType=\"text/html\"%>

<%
    if(request.getMethod().equals(\"POST\"))
{
    java.util.Enumeration e = request.getParameterNames();
 
    while (e.hasMoreElements())
    {
          %><br><p>navn = <%=e.nextElement()%></p><%
    }
try
{
String names[]=request.getParameterValues(\"select\");

for(int x=0;x<names.length;x++)
{
    %> navn = <%=names[x]%>
<%
}

}
catch (Exception dde)
{

}
}


%>

<html>
<head><title>JSP Page</title></head>
<body>

<%-- <jsp:useBean id=\"beanInstanceName\" scope=\"session\" class=\"package.class\" /> --%>
<%-- <jsp:getProperty name=\"beanInstanceName\"  property=\"propertyName\" /> --%>

<form name=\"myform\" method=\"POST\">
<select name=\"select\" size=\"10\" MULTIPLE=\"MULTIPLE\">
    <option value=\"5\">Miami</option><option value=\"4\">Jord</option><option value=\"3\">Graes</option><option value=\"2\">Cement</option><option value=\"1\">Asfalt</option>
</select>
<INPUT TYPE=\"SUBMIT\" NAME=\"Submit1\">
</form>

</body>
</html>


Synes du ikke det her er mere værd en 15 ?? :-)
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 13:32 #13
det med pointene kan vi nok finde ud af!

Jeg kan stadig ikke få \"lortet\" til at virke og jeg er så småt ved at blive lettere irritabel :)

Nu har jeg prøvet at hardcode dit select eksempel ind på siden og jeg kan kun de værdier som er markeret. Jeg ville meget gerne have alle værdier der findes inde i den (jeg flytter værdierne fra en select til en anden)
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 13:33 #14
altså alle værdier der findes imellem select tags
Avatar billede disky Nybegynder
26. marts 2001 - 13:36 #15
øh mener du at du vil have alle de mulige værdier at vide, altså ikke kun de valgte ??
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 13:37 #16
yes
Avatar billede disky Nybegynder
26. marts 2001 - 13:38 #17
Øh nu er jeg forvirret.

Dit program ved jo i forvejen hvilke mulige værdier der er. Hvorfor så forsøge at trylle dem frem igen ??
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 13:42 #18
Den side jeg er ved at lave er en til at administrere brugere af et system. Den del hvor jeg bruger select er til at vise hvilke rettigheder brugeren har. Til at ændre dem har jeg to pile der flytter options fra den ene select til den anden.
Derfor skal jeg bruge alle de options der til sidst er rykket over i givne rettigheder.
Avatar billede disky Nybegynder
26. marts 2001 - 13:43 #19
hmmm,

det ville jeg nok lave med en liste \'bagved\' i programmet som holdt styr på hvad der er flyttet af ting.
Avatar billede sporge_jorgen Nybegynder
26. marts 2001 - 13:45 #20
Jeg kom til at tænke på om man kan lave et javaScript der markerer alle elementer i en select?
Avatar billede disky Nybegynder
26. marts 2001 - 13:45 #21
Det skulle jeg da bestemt mene at man godt kan
Avatar billede sporge_jorgen Nybegynder
28. marts 2001 - 13:47 #22
Jeg har løst det med et javascript der markerer alle elementer når man submitter form\'en
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