Hej, jeg har brug for, uden at skulle reloade min side, at kunne tilføje flere input-/text-felter i min form. Disse ekstra input-felter fungerer efter en bestemt nummerering, eksempelvis:
De skal alle indsættes efter hinanden på siden, og de eksisterende felter må ikke miste deres indtastede værdier. Det kunne selvfølgelig gøres med 'submit' i en form, da jeg arbejder med php, men det ville jeg helst være fri for! Desværre er jeg ikke særlig god til denne slags javascript, jeg har mere beskæftiget mig med at lave noget tidsbestemt, eller noget url-skiftning i frames.
Det ser delvist korrekt ud... Men det virker ikke i Netscape (og jeg kan jo ikke bare regne med at folk som bruger netscape ikke går ind på siden), desuden skulle siden være forberedt på uendelig mange felter, man skal blot trykke på en knap, så kommer der et nyt felt! Det du (nielslbeck ) har lavet, er lavet på en måde, så der SKAL indtastes et max, hvilket ikke er ønskværdigt... Håber at jeg er til at forstå.
Det er helt korrekt at Netscape ikke helt forstår JavaScript på samme måde som Internet Explorer, og der derfor kommer en masse fejlmeddelelser. Jeg valgte dog at koncentrere mig om IE, da det helt klart er den mest benyttede browser i Danmark. Nu har jeg ikke lige lyst til at skulle teste siden i Netscape (ikke installeret), men det skulle ikke være særlig svært at gøre den "Netscape-kompatibel".
Det er rigtigt at der ikke kan oprettes "uendelig" mange felter, men det kan jeg heller ikke på nogen måde se muligt, hvis det skal være sådan, at indtastede værdier skal huskes når der ændres på antallet af felter. Jeg tror desværre ikke du kan gøre det på andre måder.
Undskyld jeg spørger, men hvad skal du benytte siden til (det ville måske hjælpe lidt på mine ideer)? Må der slet ikke være en max.grænse?
Hvis ikke du kan bruge den metode jeg har brugt i eksemplet, så tror jeg desværre ikke der er nogen der kan hjælpe dig. Du kan jo ikke bare oprette et antal inputbokse midt i det hele. På de sider jeg kender, hvor der er mulighed for flere inputbokse, skal man vælge et antal inputfelter og trykke submit. Så er det her da smartere! Jeg ved faktisk slet ikke om det kan lade sig gøre, at lave det samme trick i Netscape, men det kunne jeg ikke forestille mig. Sorry...
hva siger du til at bruge frames ? så kan du gemme allerede udfyldte felter samt antal felter i frames siden, og reloade den enkelte side, og derved bygge den op med endnu et felt hver gang
den side hvor jeg søger det til, har jeg mulighed for at lave det ved hjælp af frames, men jeg har også gang i en anden side, hvor jeg regner med at kunne bruge det, men dén side bruger IKKE frames, så...
Den fungerer X-browser. Jeg har testet på MacG3 med NS4.08 og IE4.5. Der er ingen, der siger, det hele ikke kunne skrives lidt mere sexy, men her er det altså lige fra tegnebordet - mere for at vise, det KAN lade sig gøre ;-) Der er en del mærkværdigheder i browsernes måde at fortolke forms i lag på (opdagede jeg...!), derfor vil den øvede JavaScripter nok undre sig over nogle af de ting, jeg skriver - men det er åbenbart nødvendigt!?!
Hovedideen er at lave to lag. Det ene indeholder en form med fire felter (det kunne være et hvilket som helst antal). Værdien af disse felter bankes ind i et array. Det andet lag er 'hidden'. I det andet lag skrives en form med det antal elementer array'et indeholder - og med disse elementer som værdier. Formen kopieres med andre ord blot over i det andet lag. Inden den afsluttes med '</form>', skrives et antal nye felter - bestemt i funktions-kaldet. Til aller sidst gøres det første lag usynligt og det andet synligt. Det samme kan så gentages den anden vej - over til det første lag, osv i én uendelighed. Kunsten er bl.a. at kalde formen rigtigt...puha, den trak tænder ud...! Man er åbenbart også nødt til at jonglere mellem to lag, da man øjensynligt ikke kan trække værdierne ud, gemme dem i et array og så skrive dem ind i samme lag i ét hug. Der sker mærkelige ting med hukommelsen...???
Du skal ændre visse steder i 'for' løkkerne, når du indsætter submitbutton eller andre form elementer. Hvis du ikke selv kan finde ud af det, må du gerne maile mig på: oc@adr.dk
Det virker næsten i netscape, men ikke i IE. Og i netscape 'glemmes' indholdet i felterne også når der kommer nye felter til... Jeg ser efter om jeg selv kan finde fejlen(e)
Ehhh...På PC? Hos mig (Mac) er det sådan, at du i IE kan kalde en 'forms[0]' og en 'forms[1]'. 'forms[1]' holder opdateringen, mens 'forms[0]' holder de gamle værdier. NS synes bare vi skal holde os til 'forms[0]'. Her kan der sikkert også gemme sig nogle mærkværdigheder i forhold til PC. Så, hvis du kan finde ud af at få det til at funke på PC, må vi kunne skrive dem sammen. Opgaven er under alle omstændigheder sjov, og løsningen kan bruges en masse andre steder - i lidt andre forklædninger.
Det vil jeg gøre, og så igen vente på at der kommer nogle forslag... :(
mvh Jacob Volstrup
Synes godt om
Ny brugerNybegynder
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.