Avatar billede ruch Nybegynder
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>
Avatar billede roenving Novice
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]
Avatar billede ruch Nybegynder
11. september 2005 - 15:52 #2
bestemt antal
Avatar billede roenving Novice
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 !-)
Avatar billede ruch Nybegynder
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
Avatar billede roenving Novice
11. september 2005 - 16:13 #5
Hvordan blandet sammen ?-)
Avatar billede ruch Nybegynder
11. september 2005 - 16:16 #6
ligemeget
tror jeg gar fundet en måde at gøre det på :)
men meget besværlig :(
Avatar billede driis Nybegynder
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 ?
Avatar billede roenving Novice
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>
Avatar billede ruch Nybegynder
11. september 2005 - 17:05 #9
tak (:
det er lige det jeg ledte efter
Avatar billede roenving Novice
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 '-)
Avatar billede ruch Nybegynder
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 ?
Avatar billede roenving Novice
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 !-)
Avatar billede ruch Nybegynder
11. september 2005 - 17:22 #13
okay (:
tak
Avatar billede roenving Novice
11. september 2005 - 17:22 #14
-- og jeg takker for point ;~}
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