staleand Skrevet 16. august 2010 Del Skrevet 16. august 2010 Hei, Etter et langt avbrekk har jeg startet med HTML / PHP igjen. Kjenner jeg er virkelig rusten i feltet foreløpig, mye er glemt og jeg merker at mye kunskap uteble når jeg drev på for lenge siden Så til problemet; Jeg har et skjema med masse checkbox-elemeter som jeg vil skal bli postet så fort en bruker haker av en boks. Etter et par kjappe google-søk har jeg kommet fram til at <form name="test" action="" method="post"> <input type=checkbox value="neger" name="ola" onClick="submit();"> <input type=checkbox value="neger2" name="ola" onClick="submit();"> </form> produserer det resultatet jeg trenger. Og når jeg tester den koden så får jeg også det resultatet jeg vil oppnå. Problemet oppstår når jeg prøver å implementere det i et større script jeg har. HTML-koden til dette scriptet hvor ønsket auto-submit ikke skjer: <form action="#" name="processRoutine"> <table> <tr> <td class="routinesListings" style="padding: 10px;"><b>dummy category</b></td> </tr> <tr> <td class="routinesListings">ArrayInnhold1</td><td class="checkBoxCol"><input type="checkbox" name="exerciseDone" value="ArrayInnhold1" onclick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold2</td><td class="checkBoxCol"><input type="checkbox" name="exerciseDone" value="ArrayInnhold2" onclick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold3</td><td class="checkBoxCol"><input type="checkbox" name="exerciseDone" value="ArrayInnhold3" onclick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold4</td><td class="checkBoxCol"><input type="checkbox" name="exerciseDone" value="ArrayInnhold4" onclick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold5</td><td class="checkBoxCol"><input type="checkbox" name="exerciseDone" value="ArrayInnhold5" onclick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold6</td><td class="checkBoxCol"><input type="checkbox" name="exerciseDone" value="S ArrayInnhold6" onclick="submit();" /></td> </tr> <tr> <td class="routinesListings">U ArrayInnhold7</td><td class="checkBoxCol"><input type="checkbox" name="exerciseDone" value="ArrayInnhold7" onclick="submit();" /></td> </tr> <tr> <td class="routinesListings" style="padding: 10px;"><b>dummy category</b></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold8</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold8" onClick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold9</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold9" onClick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold10</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold10" onClick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold11</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold11" onClick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold12</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold12" onClick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold13</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold13" onClick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold14</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold14" onClick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold15</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold15" onClick="submit();" /></td> </tr> <tr> <td class="routinesListings"> ArrayInnhold16</td><td class="checkBoxCol"><input type=checkbox name="exerciseDone" value="ArrayInnhold16" onClick="submit();" /></td> </tr> <input type="submit" value="submit" id="submit" name="submit" /> </form> </table> I mine øyne er det noe veldig rart som gjør at ting ikke fungerer som ønsket. Jeg har nå drevet på i mange timer for å finne feilen, uten å klare det. Motivasjonen er igjen på tur ned i lynets hastighet. Hadde blitt veldig glad om noen html-guruer kunne hjulpet meg her På forhånd takk! Lenke til kommentar
Sk!ppy Skrevet 16. august 2010 Del Skrevet 16. august 2010 (endret) Du kan ikke bare bruker submit() som en funksjon uten videre, hva er javascript relasjonen? Hint: function submitform() { document.myform.submit(); } Endret 16. august 2010 av Sk!ppy Lenke til kommentar
staleand Skrevet 16. august 2010 Forfatter Del Skrevet 16. august 2010 Du kan ikke bare bruker submit() som en funksjon uten videre, hva er javascript relasjonen? Hint: function submitform() { document.myform.submit(); } Okei, jeg skal prøve å implementere koden din - men hvorfor fungerer det første scriptet uten javascript-deklerasjon hvis det er nødvendig? Lenke til kommentar
Runar Skrevet 16. august 2010 Del Skrevet 16. august 2010 (endret) Jeg er litt for trøtt til å forklare hvorfor, men prøv å bytt ut submit() med document.forms["processRoutine"].submit(). Javascript må vite hvilket skjema (form) du prøver å sende. Redigert: Jeg var visst litt for sen. Endret 16. august 2010 av Runar Lenke til kommentar
staleand Skrevet 16. august 2010 Forfatter Del Skrevet 16. august 2010 Først og fremst tusen takk for kjappe svar fra begge - veldig hyggelig Så tilbakemeldingen; endret fra onclick="submit();" til onclick="document.forms["processRoutine"].submit()" fortsatt no-go. Jeg holder serriøst på å bli gal nå. Lenke til kommentar
Sk!ppy Skrevet 16. august 2010 Del Skrevet 16. august 2010 Jeg er selv veldig trøtt nå, og kanskje du burde prøve å google litt? "submit form javascript" prøvde jeg på og fant ganske mye interresant Lenke til kommentar
staleand Skrevet 16. august 2010 Forfatter Del Skrevet 16. august 2010 Forstår veldig godt at det ikke er helt enkelt å hjelpe når klokka er 03.05, men vit at jeg har googla i maaaaaange timer uten å bli klok. Som sagt, de aller fleste gir jo samme tilbakemelding som dere har gitt over, men det vil bare ikke fungere for meg. Det scriptet der VIL IKKE FUNGERE. Som sagt, takk for at dere ivertfall prøvde Alltid hyggelig med slike medborgere. Lenke til kommentar
Sk!ppy Skrevet 16. august 2010 Del Skrevet 16. august 2010 Har du prøvd å sette ID i <form>? (Henv. til første google treff, der jeg fant koden min) Lenke til kommentar
staleand Skrevet 16. august 2010 Forfatter Del Skrevet 16. august 2010 Jepp. Fortsatt ingen lykke. Lenke til kommentar
Sk!ppy Skrevet 16. august 2010 Del Skrevet 16. august 2010 Da må jeg nok sende videre til noen andre, er sånn småkoma her jeg ligger/sitter Lenke til kommentar
staleand Skrevet 16. august 2010 Forfatter Del Skrevet 16. august 2010 Vel, takk for forsøket vertfall Lenke til kommentar
Runar Skrevet 16. august 2010 Del Skrevet 16. august 2010 (endret) Du har aktivert javascript i nettleseren din? Bruk en nettleser som lar deg snoke i koden, som Firefox (med Web Developer addon) eller Safari (med Developmeny). Redigert: Eller du kan gi oss linken til nettsiden din, hvis den ligger ute på nettet! Endret 16. august 2010 av Runar Lenke til kommentar
staleand Skrevet 16. august 2010 Forfatter Del Skrevet 16. august 2010 Du har aktivert javascript i nettleseren din? Bruk en nettleser som lar deg snoke i koden, som Firefox (med Web Developer addon) eller Safari (med Developmeny). Redigert: Eller du kan gi oss linken til nettsiden din, hvis den ligger ute på nettet! http://www.bodoelv.no/inc/neger.php funker ikke http://www.bodoelv.no/inc/test.php funker. Lenke til kommentar
Runar Skrevet 16. august 2010 Del Skrevet 16. august 2010 Prøv å legg til method="post" i det skjemaet hvor det ikke fungerer. Lenke til kommentar
staleand Skrevet 16. august 2010 Forfatter Del Skrevet 16. august 2010 Prøv å legg til method="post" i det skjemaet hvor det ikke fungerer. Først og fremst takk for at dere prøver å hjelpe meg å fikse dette utrolig merkelige problemet. Nå har jeg lagt til method="post" i formen, men fortsatt no-go. Igjen, se kildekoden på http://bodoelv.no/inc/neger.php - problemet blir bare merkeligere å merkeligere for meg for hver gang jeg prøver noe nytt. Lenke til kommentar
Runar Skrevet 16. august 2010 Del Skrevet 16. august 2010 Av en eller annen grunn (sikkert logisk for de som kan mer JS enn meg) vil det ikke virke hvis du har en submit-knapp i samme skjema. Prøv å fjern den og se om det virker. Lenke til kommentar
staleand Skrevet 16. august 2010 Forfatter Del Skrevet 16. august 2010 Tusen hjertelig takk. Når jeg fjernet submit-knappen fungerte det som jeg ville Igjen, du aner ikke hvor takknemmlig jeg er for hjelpen Skulle gjerne spandert på deg en pils ute på byen i Bodø om jeg traff deg! Hvis noen med sterk kunnskap rundt javascript leser tråden kunne det vært artig å hørt hvorfor det ikke funker med submit-knapp. Lenke til kommentar
Thomas. Skrevet 16. august 2010 Del Skrevet 16. august 2010 (endret) Tusen hjertelig takk. Når jeg fjernet submit-knappen fungerte det som jeg ville Igjen, du aner ikke hvor takknemmlig jeg er for hjelpen Skulle gjerne spandert på deg en pils ute på byen i Bodø om jeg traff deg! Hvis noen med sterk kunnskap rundt javascript leser tråden kunne det vært artig å hørt hvorfor det ikke funker med submit-knapp. Er nok fordi du har satt onclick="submit();" tenker jeg. Og fordi du har onclick="submit();" på hvert element er det ikke noe poeng med submit-knapp, fordi du submitter formen når du trykker i boksen. Når du trykker i en checkbox(alle dine heter exerciseDone) submittes all data(value) med exerciseDone som name. Edit: Lenge siden jeg har drevet med javascript Men er noe i den duren Endret 17. august 2010 av Thomas. Lenke til kommentar
staleand Skrevet 17. august 2010 Forfatter Del Skrevet 17. august 2010 Hei, og takk for utdypningen Nå har det seg sånn at det du sa er blitt et problem for meg, så det passet jo bra med en oppklaring. skulle gjerne hatt en kode-snute som kun sender data for en unik input og ikke en form. altså noe som this.input.submit e.l slik at kun dataen som blir endret blir sendt, framfor som nå - at alle i den gitte form blir sendt. Lenke til kommentar
Thomas. Skrevet 17. august 2010 Del Skrevet 17. august 2010 skulle gjerne hatt en kode-snute som kun sender data for en unik input og ikke en form. altså noe som this.input.submit e.l slik at kun dataen som blir endret blir sendt, framfor som nå - at alle i den gitte form blir sendt. Du har f.eks mange inputs med tekst med samme navn, og når du endrer value i en input vil du at bare den skal oppdatere seg? Da må du nesten gi dem forskjellig navn. Men unike input (en hidden og et tekstfelt): <?php if(isset($_POST['v'])) { echo 'dat1: ' . $_POST['dat1'] . '<br>'; echo 'dat2: ' . $_POST['dat2'] . '<br><br>'; } ?> <form method="post"> <input type="hidden" value="data1" name="dat1" /> dat2: <input type="text" name="dat2" value="noe data her(input)" /><br /> Submit: <input type="checkbox" name="v" onclick="submit();" /> </form> 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å