11. september 2005 - 15:45
Der er
13 kommentarer og 1 løsning
kopier <input>
hvordan kan man gøre sådan så man f.eks. kan trykke på en knap hvor der står 5 og så kommer der 5 <input>'s frem ? eller med 6,7,8.. altså ikke bare teksten <input> men tekst feltet <input>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
11. september 2005 - 15:51
#1
Vil det kunne være helt tilfældigt ?-) -- altså er der ingen grænse for antallet, eller kan der f.eks. kun være tale om op til 9-10 stykker ?o]
11. september 2005 - 15:52
#2
bestemt antal
11. september 2005 - 16:03
#3
Så lyder det som om det nemmeste vil være at lave en stribe inputs fra starten, men så skjule dem indtil der vælges et antal i en dropdown !-)
11. september 2005 - 16:04
#4
ja, det har jeg prøvet men det blir for meget at skjule og vise så det hele blir blandet sammen, så jeg håbede ellers at man kunne gøre det på en anden måde
11. september 2005 - 16:13
#5
Hvordan blandet sammen ?-)
11. september 2005 - 16:16
#6
ligemeget tror jeg gar fundet en måde at gøre det på :) men meget besværlig :(
11. september 2005 - 16:20
#7
Det er ikke svært at gøre i et-eller-andet serverside scriptsprog som ASP eller PHP. Men jeg ved ikke om du er ude efter en clientside-only løsning ?
11. september 2005 - 16:31
#8
Det er heller ikke svært i en client-side løsning ... <form> <select onchange="showInputs(this)"> <option value="0">Vælg antal inputs</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select><br> <input type="text" name="inp1" style="display:none"><br> <input type="text" name="inp2" style="display:none"><br> <input type="text" name="inp3" style="display:none"><br> <input type="text" name="inp4" style="display:none"><br> <input type="text" name="inp5" style="display:none"><br> <input type="text" name="inp6" style="display:none"><br> <input type="text" name="inp7" style="display:none"><br> <input type="text" name="inp8" style="display:none"><br> <input type="text" name="inp9" style="display:none"><br> <input type="text" name="inp10" style="display:none"><br> </form> <script type="text/javascript"> function showInputs(sel){ var f = sel.form, num = +sel.value; for(i=1;11>i;i++){ f.elements['inp'+i].style.display = num>=i?'inline':'none'; } } </script>
11. september 2005 - 17:05
#9
tak (: det er lige det jeg ledte efter
11. september 2005 - 17:08
#10
-- og hvis du vil have tekster foran (eller bagved !-) inputs, skal vi lægge spans eller divs omkring felterne, men det fylder mest i html-koden !-) Velbekomme '-)
11. september 2005 - 17:17
#11
men hvorfor kan jeg ikke lave flere end 10 ? <form> <select onchange="showInputs(this)"> <option value="0">Vælg antal inputs</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> </select><br> <input type="text" name="inp1" style="display:none"><br> <input type="text" name="inp2" style="display:none"><br> <input type="text" name="inp3" style="display:none"><br> <input type="text" name="inp4" style="display:none"><br> <input type="text" name="inp5" style="display:none"><br> <input type="text" name="inp6" style="display:none"><br> <input type="text" name="inp7" style="display:none"><br> <input type="text" name="inp8" style="display:none"><br> <input type="text" name="inp9" style="display:none"><br> <input type="text" name="inp10" style="display:none"><br> <input type="text" name="inp11" style="display:none"><br> </form> <script type="text/javascript"> function showInputs(sel){ var f = sel.form, num = +sel.value; for(i=1;11>i;i++){ f.elements['inp'+i].style.display = num>=i?'inline':'none'; } } </script> Hvorfor virker den ikke ?
11. september 2005 - 17:20
#12
Fordi du skal ændre det tal, der læses op til i for-løkken: for(i=1;11>=i;i++){ -- nu har jeg ændret den, så du bare skal have nummeret på den højeste !-)
11. september 2005 - 17:22
#13
okay (: tak
11. september 2005 - 17:22
#14
-- og jeg takker for point ;~}
Kurser inden for grundlæggende programmering