13. maj 2005 - 14:48Der er
14 kommentarer og 2 løsninger
Dynamisk generering af textfields.
Hejsa
Jeg har brug for et javascript som dynamsik kan genererer textfields. Som standart skal der være et textfield, når brugeren indtaster en værdig i denne skal der automatisk genereres et nyt textfield neden under.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Det ser jo super ud. Men den midster focus efter man har indtastet et tegn. Har du en løsning på det roenving? Derudover hvordan får jeg den til at tælle værdien i textfield'et op med en?
Den med fokus-tingen kunne jeg heller ikke greje, selvom jeg forsøgte en del forskellige ting ...
-- men da den er baseret på, at den genererer den næste i det øjeblik, der er skrevet eet tegn, giver det ikke mening at udfylde det nye felt med en værdi, så der skal bruges fuldstændig andre ting ...
-- så du forklare meget mere om hvad du skal bruge det til !-)
roenving >> med: par.innerHTML += "<br>"; - overskriver du span'ets indhold, hvorfor det element, du skrev et tegn i, ikke længere eksisterer. Det element, du tror, er det samme, er blot en kopi af det, du skrev i. Derfor vil et kald à la: elm.focus() - udløse en fejl.
Løsningen er at holde sig til DOM:
function newInput(elm) { if(elm.value.length!=1) return; var par = elm.parentNode; var num = +elm.name.replace(/.+?(\d+)$/,"$1"); var newInp = elm.cloneNode(true); newInp.name = "input" + (++num); newInp.value = ""; var br = document.createElement("br"); par.appendChild(br); par.appendChild(newInp); return true; }
ktolbod >> Hvis du ikke ved, hvorlang strengen er, må du definere en anden handling, feltet skal oprettes på ....... eller belave dig på 'onClairVoyance' event'en ;o)
Argh, den havde jeg helt overset, fordi jeg var i tvivl om konstruktionen med først at appende et br og derefter bruge dom ville virke, så da det virkede, tænkte jeg at jeg slap over hvor der var et lavt gærde ...
>>ktolbod
Hvornår kan man vide, at der er brug for det nye felt ?-)
*LooL* ... jeg må indrømme, at fejlen sprang mig lige i fjæset med det samme. Jeg skal sige dig: Jeg har en fabelagtig øvelse med lige præcis den fejl ... og hvis du nu er rigtig flink, hænger du mig ikke op på tørresnoren ved at spørge, hvorfra. Schhhhhh ..... ;D
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.