Gå til innhold

Poll: Sette inn ny tekstboks uten "refresh"


Anbefalte innlegg

Videoannonse
Annonse

Hmm, nei. Siden PHP er serverside, blir resultatet uansett at siden må lastes på nytt når du forteller PHP scriptet at den skal "rendre" ny HTML med et nytt alternativfelt.

 

Hva er galt med den javascript metoden? Redd for at de som ikke har javascript skrudd på ikke får brukt dette?

Lenke til kommentar

Jeg bryr meg ikke så stort om folk har JavaScript aktivert eller ikke. Kan fikse en link til en PHP-side med en lignende funksjon, hvis en ikke skulle støtte JavaScript.

 

Jeg er veldig nøye på at sider skal validere med dagens standarder.

JavaScript-funksjoner bør jo ligge i hodet på et dokument, og siden dette dokumentet skal inkluderes i en rekke andre dokumenter, vil jeg ikke at man må legge til kode i hodet på hvert av disse dokumentene.

 

Hvis jeg derimot har koden i hodet på dokumentet som skal inkluderes, vil det jo resultere "<html><head>...</head><body>...</body></html>" midt i de andre dokumentene.

 

Vanskelig å forklare, men du forstår vel. Det validerer vel neppe?

 

EDIT: Fiksa en grov skrivefeil.

Endret av DevN
Lenke til kommentar

Ifølge HTML 4.01 så skal du kunne bruke <script> så mange ganger du vil i <head> og <body>. I dette tilfelle kan du droppe å ha med <html><head><body> opplegget i dette dokumentet du nevner som skal inkluderes i en "parent" dokument. Det er bare å skrive <script src="mitt.js" type="text/javascript"></script> hvor som helst, så lenge det blir innen for <body> (mulig du fint kan ha det i hvilken som helst childelement under body og, men tviler)

 

Referanse: http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT

The SCRIPT element places a script within a document. This element may appear any number of times in the HEAD or BODY of an HTML document.

 

Men ja, <html><head><body> skal nok bare dukke opp engang, et inkluderende dokument med samme struktur vil få hele greia til å ikke validere ja ;)

Lenke til kommentar

Vel, jeg har lært JavaScript slik at funksjoner bør alltid puttes i hodet på et dokument. Da er man garantert at funksjonene lastes FØR man kaller de.

 

Jeg vet ikke om dette er tilfelle i dag, men vil helst følge alle "regler" punktlige for å unngå feil.

Lenke til kommentar

Hehe, isåfall vil du slite om du ikke vil ha dette scriptet definert i head i "moder" dokumentet. Siden dette er PHP, så kan du jo utnyttet dens muligheter. F.eks i index.php om du har en slik fil. I dens <head> har du et felles <script src="dynamisk_loader_js.php" type="text/javascript"></script>. I denne dynamisk_loader_js.php kan du f.eks include common js script filer og eventuelt sjekke $_REQUEST om du skal inkludere js-fila som er relatert til dette poll opplegget.

 

Men dette blir bare tull sånn i ettertanke, tror jeg ;) Siden den $_REQUEST vil ikke inneholde noe, måtte hatt src="dynamisk_loader_js.php?var=val" isåfall...

 

Men akkurat nå føler jeg at jeg roter meg vekk fra topic. Faktisk mistet litt grepet på hva du prøver å få til :p

 

Er det meningen at du vil ha dynamisk loading av siden med javascript, men at HTML'en er generert av PHP, at et nytt felt blir populert med PHP istedet? Hvis så kan du ta en titt på XmlHTTPRequest scriptet. (Som jeg merkelig nok har hatt bruk for i dette forumet mange ganger i dag :D)

 

Her kan du sende request til PHP iform av POST eller GET. PHP scriptet genererer HTML utfra request du sender f.eks antallfelter=n og du bruker f.eks $_GET['antallfelter'] til å echo'e HTML'en

Lenke til kommentar

Dette vil vel kreve oppdatering av siden, eller at man først angir antall felter? Altså, det vil ikke bli likt JavaScriptet?

 

Hmmm, rart at det skal være så vanskelig.

 

Og... Hmmm, jeg har visst tenkt litt feil her.

Denne siden skal faktisk ikke inkluderes på noen andre sider enn "index.php"-siden som medfølger systemet. Altså, det er jo den filen jeg lager en poll med jeg snakker om, ikke resultatet.

 

Da er det jo bare å putte JavaScript-koden i hodet på "index.php", og så bruker jo "child"-dokumentet den automatisk.

 

Uff, men fikk i hvertfall svar på at dette ikke kunne gjøres med PHP, da. ;)

 

EDIT: Skrivefeil.

Og uff, så tregt dette forumet går for meg i dag. :/

Endret av DevN
Lenke til kommentar

Nei, ideen med xmlhttprequest, er at dette skjer med javascript/DOM. Den sender en request mot et phpscript. Phpscriptet echo'er HTML resultat som javascript tar imot. Det eneste du trenger å gjøre nå er å ha en <div id="pollconfig"></div> et eller annet sted. Et javascript som kjører document.getElementById('pollconfig').innerHTML = resultatfraxmlrequest; f.eks for å fylle den pollconfig div'en.

 

Men ser ikke poenget med det, blir bare å flytte generering av html et annet sted. Og som du sier, er det jo bare å putte js-koden i "index.php" ;)

Endret av FuLu
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...