Gå til innhold

Javascript for å finne ID for dynamisk oppretta skjemafelt


Anbefalte innlegg

Eg har ei side med fleire skjema der informasjonen i skjema er oppretta i eit php script basert på resultatet av ei spørring til ein database. Skjema på sida kan for eksempel sjå slik ut:

 

<form name="skjema_id">
<input type="hidden" id="rad1" value="1">
<input type="submit" id="tekst" value="Hent meir tekst">
</form>
<form name="skjema_id">
<input type="hidden" id="rad2" value="2">
<input type="submit" id="tekst" value="Hent meir tekst">
</form>

 

Her er då ID'en "rad1" satt inn av php scriptet. Når knappen "hent meir tekst" blir trykt trenger eg å finne denne IDen ved hjelp av eit javascript og sende den tilbake til serveren for å kunne oppdatere eit anna felt med meir tekst.

Mitt problem er att eg aner ikkje korleis eg skal finne denne IDen, når eg ser på nettet etter løysingar på å hente ut ein ID baserer alt eg finner seg på att IDen er satt inn manuelt slik att du veit kva som står i feltet.

 

Kan jo nevne att eg har aldri vore borti javascript før so det her er veldig mykje lære mens eg jobbar prosjekt..

 

Håper dette var ei grei forklaring av kva eg vil oppnå her :)

Lenke til kommentar
Videoannonse
Annonse

Er det noen grunn til at du absolutt vil ha Javascriptet til å vite IDen? Hvis du submitter formen (Javascript eller ei), så ser jo PHP-skriptet ditt hvilke verdier som er sendt. Mao, gi hidden input-feltet et felles navn for alle formene, f.eks. name="myid":

<form name="skjema_id">
<input type="hidden" name="myid" id="rad1" value="1">
<input type="submit" id="tekst" value="Hent meir tekst">
</form>
<form name="skjema_id">
<input type="hidden" name="myid" id="rad2" value="2">
<input type="submit" id="tekst" value="Hent meir tekst">
</form>

I PHP får du da en POST-parameter kalt "myid" som forteller deg hvilken form du klikket på.

 

Med name-attributten på hidden input-elementet vil du også kunne finne IDen i Javascript med this.form.myid.value i onclick-eventen til submit-knappen.

 

Hvis du ikke kan endre på markupen, men vet at hidden input-elementet alltid er det første input-elementet i formen, kan du også bruke this.form[0].value .

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...