Avatar billede crasher Nybegynder
23. marts 2002 - 10:45 Der er 7 kommentarer og
1 løsning

Felt laver felter efter værdi

Hej

Jeg søger et javascript der kan lave et bestemt antal felter ved blot at udfylde det.
IKKE NOGEN SUBMIT KNAP ;) bare når der bliver skrevet et tal deri.

Sådan at der fx. er et felt hvor man kan skrive et tal i, og med det samme man udfylder det, (fx værdi'en 4) så skal der komme 4 nye felter nedenunder.

Det er vigtigt at de "ny-dannede" felter har hver sin værdi, så jeg kan requeste dem via ASP :)

Håber i forstår og kan give mig en fornuftigt svar ;)

Hygge

/crasher
Avatar billede Slettet bruger
23. marts 2002 - 11:50 #1
OK, prøv dette:

<script>
function laf() {
ant = parseInt(document.frm.antal.value,10);
if (ant < 1) return;
html = "";
for (i = 0; i < ant; i++) html += "<input type='text' name='felt" + i + "'>";
if (document.getElementById) document.getElementById("nf").innerHTML = html;
else if (document.all) document.all.nf.innerHTML = html;
else if (document.layers) document.nfil.document.nfl.document.write(html);
}
</script>

<form name="frm">
Skriv, hvor mange felter, du ønsker: <input type="text" name="antal" maxlength="2" size="5" onBlur="laf();">
<br>
<div id="nf"><ilayer id="nfil"><layer id="nfl"></layer></ilayer></div>
</form>

Jeg har sat en maxlængde på "antal"-feltet, for med over hundrede felter bliver systemet nok lidt langsomt. Desuden holder idéen med, at man bare skriver et tal, og så fremkommer felterne, ikke, for hvem ved, om tallet skal være to-cifret? Så jeg har valgt først at vise felterne på onBlur, altså når man forlader feltet.
Avatar billede Slettet bruger
23. marts 2002 - 11:54 #2
Du skal nok lige inkludere et "<br>" i for-linjen:

for (i = 0; i < ant; i++) html += "<input type='text' name='felt" + i + "'><br>";

Jeg har testet det. Det virker i hvert fald i IE5 og NS6, men skulle gerne virke i både NS4+ og IE4+.
Avatar billede olebole Juniormester
23. marts 2002 - 14:17 #3
<ole>
Nej, det virker ikke i NS4.x.
Den er ser et lags indhold som et selvstændigt dokument - og elementer i lag inde i en form, ses ikke som tilhørende formen.
Det er også det mest logiske, da NS4.x jo kun kan skrive til absolut placerede lag - og de kan jo i sagens natur ikke ligge i en form, der ligger et helt andet sted på siden  :)
/mvh
</bole>
Avatar billede olebole Juniormester
23. marts 2002 - 14:18 #4
Se evt. http://www.dansteinman.com/dynduo  for behandling af forms i NS4.x
/mvh
Avatar billede Slettet bruger
23. marts 2002 - 19:00 #5
Nej, ok. Så må du jo enten vælge NS4 fra eller gå alternativt til værks!
Avatar billede crasher Nybegynder
26. marts 2002 - 13:39 #6
Har hver formel så sin egen værdi?! :/

ellers præcis det jeg skal bruge, phoenixv ;)
Avatar billede crasher Nybegynder
26. marts 2002 - 13:45 #7
Er det muligt at smide en style på koden, sådan at det ser ordentlig ud? :)
Avatar billede Slettet bruger
26. marts 2002 - 17:53 #8
Hvert felt har navnet "feltX", hvor X er nummeret (startende fra 0). Du kan sagtens give hvert felt en class, fx:

for (i = 0; i < ant; i++) html += "<input type='text' name='felt" + i + "' class=\"mitfelt\">";

... for at give hvert felt klassen "mitfelt".
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