Avatar billede dp2001 Juniormester
03. november 2003 - 23:04 Der er 8 kommentarer og
1 løsning

Option - præsenter ét, send noget andet videre.

Hvordan præsenterer jeg én ting (rs2("prodarea_text")) i en <select>/<option>, mens jeg sender noget andet (rs("prodarea_id")) videre som formular-data?

Hér er hvad jeg har lavet indtil nu....

--------------------

Response.Write "<tr>"
Response.Write "<td valign='top'>Produktgruppe</td>"
Response.Write "<td>"
prodarea_id = "<select name='prodarea_id'>"
strSQL2 = "SELECT * FROM product_area WHERE (prodarea_id = " & rs("prodarea_id") & ") OR in_sale = True"
Set rs2 = Conn.Execute(strSQL2)
Do Until rs2.EOF
if rs2("prodarea_id") = rs("prodarea_id") then
  prodarea_id_option = "<option selected='selected'>" & rs2("prodarea_text") & "</option>"
  else
  prodarea_id_option = "<option>" & rs2("prodarea_text") & "</option>"
  end if
  prodarea_id = prodarea_id & prodarea_id_option
rs2.MoveNext
Loop
prodarea_id = prodarea_id & "</select>"
Response.Write prodarea_id & "</td>"
Response.Write "</tr>"
Avatar billede dp2001 Juniormester
03. november 2003 - 23:06 #1
Det er rs2("prodarea_id") og ikke rs("prodarea_id") jeg vil sende videre som formulardata.
Avatar billede sierradriver Nybegynder
03. november 2003 - 23:19 #2
Det gør du ved at bruge attributten "VALUE" i <OPTION> tagget... Se redigeret udgave herunder...


Response.Write "<tr>"
Response.Write "<td valign='top'>Produktgruppe</td>"
Response.Write "<td>"
prodarea_id = "<select name='prodarea_id'>"
strSQL2 = "SELECT * FROM product_area WHERE (prodarea_id = " & rs("prodarea_id") & ") OR in_sale = True"
Set rs2 = Conn.Execute(strSQL2)
Do Until rs2.EOF
if rs2("prodarea_id") = rs("prodarea_id") then
  prodarea_id_option = "<option selected='selected'>" & rs2("prodarea_text") & "</option>"
  else
  prodarea_id_option = "<option value='" & rs2("prodareaid") & "'>" & rs2("prodarea_text") & "</option>"
  end if
  prodarea_id = prodarea_id & prodarea_id_option
rs2.MoveNext
Loop
prodarea_id = prodarea_id & "</select>"
Response.Write prodarea_id & "</td>"
Response.Write "</tr>"
Avatar billede sierradriver Nybegynder
03. november 2003 - 23:22 #3
hov, jeg så ikke at der en IF sætning, der skal selvfølgelig sættes en "VALUE" attribut i begge <OPTION> tags...
Og så havde jeg lige glemt "_" efter prodarea :-)

Response.Write "<tr>"
Response.Write "<td valign='top'>Produktgruppe</td>"
Response.Write "<td>"
prodarea_id = "<select name='prodarea_id'>"
strSQL2 = "SELECT * FROM product_area WHERE (prodarea_id = " & rs("prodarea_id") & ") OR in_sale = True"
Set rs2 = Conn.Execute(strSQL2)
Do Until rs2.EOF
if rs2("prodarea_id") = rs("prodarea_id") then
  prodarea_id_option = "<option value='" & rs2("prodarea_id") & "' selected='selected'>" & rs2("prodarea_text") & "</option>"
  else
  prodarea_id_option = "<option value='" & rs2("prodarea_id") & "'>" & rs2("prodarea_text") & "</option>"
  end if
  prodarea_id = prodarea_id & prodarea_id_option
rs2.MoveNext
Loop
prodarea_id = prodarea_id & "</select>"
Response.Write prodarea_id & "</td>"
Response.Write "</tr>"
Avatar billede dp2001 Juniormester
03. november 2003 - 23:23 #4
Den havde jeg nu godt luret! ;-)

Tak for hjælpen - det virker bare!
Avatar billede m_skau Nybegynder
03. november 2003 - 23:23 #5
Der skal bare stå SELECTED ikke SELECTED='selected'
Og der mangler vist en value i den første del af if sætningen i sierradrivers eller rigtige svar
  prodarea_id_option = "<option selected value='" & rs2("prodarea_id") & "'>" & rs2("prodarea_text") & "</option>"
  else
  prodarea_id_option = "<option value='" & rs2("prodarea_id") & "'>" & rs2("prodarea_text") & "</option>"
Avatar billede m_skau Nybegynder
03. november 2003 - 23:24 #6
... det havde sierradriver selv opdaget, det med iffen
:)
Avatar billede sierradriver Nybegynder
03. november 2003 - 23:31 #7
Ja, men selected fejlen havde jeg nu ikke spottet :-)
Avatar billede dp2001 Juniormester
03. november 2003 - 23:34 #8
Jeg har sg* altid brugt selected='selected' - og det med succes, men 10 bytes er da altid værd at spare.
Avatar billede m_skau Nybegynder
03. november 2003 - 23:40 #9
Og sikkerhed for at det virker i alle browsere, det er da også værd at tage med
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