Avatar billede deamill Nybegynder
19. marts 2004 - 09:05 Der er 14 kommentarer og
1 løsning

Adgang til html form elementer på resultat siden

Hejsa, jeg har oprettet en html form, hvor actionen på min submit button er, at kalde en ny html side. På den side med formen, har jeg en række select boxe, hvordan løber jeg disse igennem på den html side jeg kalder?

Forstår i hvade jeg mener?

P.S.: Det er forskelligt hvor mange select boxe der er!
Avatar billede muddi Praktikant
19. marts 2004 - 09:27 #1
du kalder alle dine select-boxe det samme, f.eks.:

<select name="box[]">
    <option value="value1">Value1</option>
    <option value="value2">Value2</option>
    <option value="value3">Value3</option>
</select>
<select name="box[]">
    <option value="value1">Value1</option>
    <option value="value2">Value2</option>
    <option value="value3">Value3</option>
</select>

På den måde for du et arrray af select-boxe du kan løbe igennem!
Avatar billede deamill Nybegynder
19. marts 2004 - 09:30 #2
okay, men hvordan accesser jeg dem fra den side jeg kalder?
Avatar billede nute Nybegynder
19. marts 2004 - 09:53 #3
du kan ikke accessere formelementer fra en side til en anden.Fx:

du har siderne side1.html og side2.html. på 'side1' har du et formular, der har 'side2' som action. når du er på 'side2', så har du ikke mulighed til at accessere formelementer på 'side1'.

hvad er det du prøver at gøre ... hvad er du ønsker at opnå `?
Avatar billede muddi Praktikant
19. marts 2004 - 10:56 #4
nute >> jeg tror han vil gennemløbe arrayet af værdier modtaget fra formen på side1.
Efter han har valgt noget i select-boxene på side1 trykker han på submit og ryger til side2. select-boxene er i et array, og det array skal gennemløbes for at finde alle værdierne.
Jeg kan ikke huske hvordan arrayet gennemløbes, da jeg ikke kan huske hvordan man finder størrelsen på et array i javascript.
Dog kommer jeg i tanker om, at du nok skal indsætte id="box[]" i dine selects, da det så vidt jeg husker er id der bruges frem for name (?!)
Avatar billede deamill Nybegynder
19. marts 2004 - 11:21 #5
muddi ->
Hvordan vil asp koden så se ud for at gennemløbe dette array?
Avatar billede muddi Praktikant
19. marts 2004 - 11:28 #6
huh, det ved jeg ikke. Det ville se sådan her ud i PHP:

<?php
if($_POST['box'])
{
  while($i < sizeof($_POST['box']))
  {
      print $_POST['box'][$i];
      $i++; // variablen i øges med 1
  }
}
?>

Jeg er meget dårlig til ASP. Du er sikkert langt bedre end jeg er :o)
Avatar billede nute Nybegynder
19. marts 2004 - 11:52 #7
så skal man skrive "hvordan modtager jeg værdier fra den foregående side", ikke "jeg ønsker at accessere form elementer fra den side jeg kalder" ... det kunne jo være at ønsket var at prøve at fx ændre værdien i en selectbox på den side der poster ;o]

Dette giver dig en komma separeret streng med dine værdier i din select:

strSelect = Request("navnetPåDinSelect")

Dette laver din streng om til array:

arrSelect = Split( strSelect, "," )

Dette lopper igennem din array:

for i = 0 To UBound( arrSelect )
    Response.Write( arrSelect(i) & "<br>" )
next

/nute
Avatar billede deamill Nybegynder
19. marts 2004 - 12:10 #8
;-)

Hmm... der sker ikke rigtig noget!

Mine select boxe ser sådan ud:

<select name="box[]">
    <option value="value1">Value1</option>
    <option value="value2">Value2</option>
    <option value="value3">Value3</option>
</select>
<select name="box[]">
    <option value="value1">Value1</option>
    <option value="value2">Value2</option>
    <option value="value3">Value3</option>
</select>
Avatar billede nute Nybegynder
19. marts 2004 - 12:26 #9
dine selects bør ikke have det samme navn

dette eksempel fungere da fint for mig:

<%@language="VBScript"%>
<%
strSelect = Request("box[]")
arrSelect = Split( strSelect, "," )
for i = 0 To UBound( arrSelect )
    Response.Write( arrSelect(i) & "<br>" )
next
%>
<form name="frm" action="?">
<select name="box[]" size="3" multiple>
    <option value="value1">Value1</option>
    <option value="value2">Value2</option>
    <option value="value3">Value3</option>
    <option value="value4">Value4</option>
    <option value="value5">Value5</option>
    <option value="value6">Value6</option>
</select>
<input type="submit">
</form>
Avatar billede nute Nybegynder
19. marts 2004 - 12:28 #10
hovsa ... sæt dine selects ind istedet for den jeg har ... og du vil se at det vil fungere
Avatar billede deamill Nybegynder
19. marts 2004 - 12:30 #11
jamen problemet er jo at selectene skabes af et asp script, jeg ved ikke hvor mange der er. Derfor blev det foreslået (længere oppe) at kalde dem xxx[] for at lave et array af selects!?
Avatar billede nute Nybegynder
19. marts 2004 - 12:36 #12
'box[]' ... eller det at sætte [] bag navnet på sine selects er en php navngivning, som ikke er særlig "normalt" i asp.

hvorfor ved du ikke hvor mange selects der er ? hvad ligger det i disse selects ?
Avatar billede deamill Nybegynder
19. marts 2004 - 13:05 #13
hey, nu virker det sgu, jeg kunne godt bruge box{[] :-)

takker!!
Avatar billede deamill Nybegynder
19. marts 2004 - 13:06 #14
nute-> du skal lige svare :-)
Avatar billede nute Nybegynder
19. marts 2004 - 13:08 #15
fino ... "svare"
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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