LMarie Skrevet 16. januar 2013 Del Skrevet 16. januar 2013 Hei Jeg er fortsatt en nybegynner så beklager min uvitenhet Jeg har en side som viser en hel del data i flere linjer. Dette er oppgaver som kan utføres. Hver linje inneholder informasjon om oppgaven og en knapp som lar deg trykke når oppgaven er påbegynt. Etter at man trykker her får du opp valg om å avslutte oppgaven. Hvis du trykker der får du opp et skjema som inneholder et tekst felt hvor du kan fylle ut notater om oppgaven og deretter trykke ok. Problemet mitt er da når man kommer til det siste skjemaet. I og med at alle linjene blir hentet fra sql databasen skriver jeg de ut i en php for løkke. Men når man har fylt ut skjemaet skal jeg sende resultatet til en js fil som sender dataen videre til et php script som skriver data tilbake til sql databasen uten refresh, altså ajax. Hvis man åpner kun et slik skjema om gangen fungerer det jo å angi form navnet i javascript funksjonen men hvis man åpner flere om gangen blir det jo tull. Tenker da å gi hvert skjema en unik id slik at man skal kunne skille de. Da kommer problemene. Vanlig ajax funksjon med en enkel form id (myForm) vil da se slik ut: function submitFormWithAjax(){ var myAjaxPostrequest=new GetXmlHttpObject(); var t2lid=document.myForm.taskID.value; var t2ltitle=document.myForm.taskTitle.value; …… ….. Hvis formid er dynamisk hvordan vil jeg kunne hente de opp i javascript da? Altså document.??.taskID.value Må vel sendes med inn i javascript funksjonen kanskje? function submitFormWithAjax(formid){ Men da får jeg jo en javascript variabel som jeg ikke kan putte inn direkte: function submitFormWithAjax(formid){ var myAjaxPostrequest=new GetXmlHttpObject(); var t2lid=document.formid.taskID.value; var t2ltitle=document.formid.taskTitle.value; …… ….. Noen som kan peke meg i riktig retning på hvordan jeg skal få til det? Lenke til kommentar
Crowly Skrevet 16. januar 2013 Del Skrevet 16. januar 2013 (endret) Å ta i bruk jQuery vil forenkle dette en del, spesielt serialize() funksjonen og $.post() function submitFormWithAjax(formid) { var datastring=$('#'+formid).serialize(); // lagre data/value fra alle felter i form'et // form data sendes via post // output fra ajax.php som html $.post('ajax.php', datastring, function(data) { console.log(data); // endre til det du ønsker å gjøre med output fra ajax.php }); // output fra ajax.php som json $.post('ajax.php', datastring, function(data) { console.log(data); }, 'json'); } Endret 18. januar 2013 av Crowly Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå