Gå til innhold

hvordan kode en inntstingsboks?


Anbefalte innlegg

Jeg skal lage en gjestebok på siden min, øverst skal jeg ha en knapp for å skrive i gjesteboka. Ideen er at når du trykker på den, skal en rute med inntastingsfelt komme frem uten at du laster en ny side. Ikke i et nytt vindu eller noe, bare komme til syne på sia.

 

Jeg tenker at inntastingsområde kan adskilles med <div> er og være gjemt helt til noen trykker på knappen, og da skal et smart javascript eller noe få den frem. Å lage selve formen er ikke noe problem, problemet er å vise innholdet i <div>-området når man trykker på knappen.

 

Jeg tenker at dette kan gjøres med javascript eller css eller et eller annet annet språk, eller kanskje en blanding av flere. Siden jeg ikke vet hvilket poster jeg her.

 

Takker for alle svar

Lenke til kommentar
Videoannonse
Annonse

eneste grunnen til å droppe javascript er at en mikroskopisk prosentdel mangler støtte for dette. Forresten, denne andelen kan øke når nye typer klienter øker (mobile f.eks.). Du kan da risiker å ekskludere disse fra målgruppen din, men jeg tipper at designet ditt allerede er litt ekskluderende - det pleier å være sånn med fine designs

Lenke til kommentar

Og skal du absolutt ha mobile freaks som målgruppe, så er det etter min mening normalt å ha en http://yoursite/mobile-friendly-sak/ hvor f.eks site er designet i veldig enkelt / minimalsk format hvor man er garantert mobil/pda/whatever-vennelig.

 

Hvis du har PHP, kan du f.eks ha en javascript-checker kode for å finne ut om klienten har javascript enabled. For å sjekke dette kan du f.eks ha et enkelt javascript som redirecter klienten til et javascriptcheck.php fil. Denne setter en session/cookie om nettleseren støtter javascript eller ei. Så kan du implementere kode som gjør det mulig for slike effekter på siden. Denne sjekken vil da redirecte tilbake til referer/requested site e.l. så man kommer til den siden man requesta.

 

Kombinasjon av CSS/DOM/Javascript kan du bruke for å skjule/vise en DIV. I javascript kan du bruke DOM api'et. F.eks, hvis du har gitt et element en id, f.eks id="hiddenbox1", kan du i et javascript skrive document.getElementById("hiddenbox1"). Denne vil da returnere elementet (om den finner noe), hvor du kan endre f.eks css rule, eller bytte css class'en. Eksempel:

function showhideBox()
{
 eHiddenbox1 = document.getElementById("hiddenbox1");
 if(eHiddenbox1)
 {
   if(eHiddenbox1.style.display == "none")
   {
     eHiddenbox1.style.display = "block";
   }
   else
   {
     eHiddenbox1.style.display = "none";
   }
 
   // Eller så kan du bare bytte om klassen den skal bruke istedet for koden over
   if(eHiddenbox1.className == "hide")
   {
     eHiddenbox1.className = "show";
   }
   else
   {
     eHiddenbox1.className = "hide";
   }
 }
}

 

Klassene show og hide definerer du i stylesheetet som du pleier, f.eks .hide { display: none; } og .show { display: block; }

 

Det kan også være lurt i prosessen over, når du sjekker om nettleseren støtter javascript, at du også sjekker for hvilke funksjoner i javascript/DOM nettleseren støtter. At du redirecter til javascriptchecker.php?jegstøtterdette=1&jegstøtterogsådette=1 osv ;) F.eks, om du vil sjekke om nettleseren støtter DOM funksjonen document.getElementById, trenger du bare å skrive:

var DOMgetElementByIdisSupported = false;
if(document.getElementById)
{
 DOMgetElementByIdisSupported = true;
}

Så oppsummerer du dette i en redirect til slutt :w00t:

 

Men dette med å sjekke hva nettleseren støtter er kanskje ikke noe du trenger å tenke på med det første, men egentlig er det viktig, fordi man vil jo helst at siden oppfører seg korrekt i alle tilfeller.

 

Skulle du ende opp med å ikke støtte javascript, så kan du bruke PHP på omtrent samme måte, at du bytter ut klassen DIV'en bruker, men dette krever at du må reloade siden for at det skal bli gjennomført, siden PHP'en må skrive om siden så DIV'en vises.

 

Phew! Ble masse info gitt :roll: , men da har du hvertfall noe å fordøye deg på :D

Lenke til kommentar

Takker for alle svar. :thumbs:

 

Jeg tror metoden din FuLu var akkurat det jeg trengte, har ikke fått testet dette enda, men jeg skal skrike ut hvis d ikke funker.

 

Tror egntlig at jeg ikke kommer til å skrive siden min for de med mobiltelefon o.l. Da får jeg eventuelt gjøre dette hvis dette blir mer aktuelt senere. Det viktigste er at siden funker i de fleste stor browerene, og jeg kommer til å bruke javascript, jeg har brukt det flere andre steder før uansett. Får eventuelt legge inn en sjekk, og lage en egen løsning for de uten javascript som du foreslo FuLu. Men nå i første rekke lager jeg sia for folk med javascript.

 

Takk for hjelpen :thumbup:

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...