24. oktober 2002 - 11:16Der er
27 kommentarer og 1 løsning
alertbox eller hvad ?
Jeg er ved at lave en hjemmeside med tilhørende database og med diverse søge funktioner osv.
Når man så vil fortælle den besøgende et eller andet, bruger man så alert("hallo") eller hvad er det mest brugte og hvad er det bedste når man fra Server siden skal afgøre hvilken box der skal fremkomme på klientsiden ?
Alerts er som sådan fine nok til at "give besked" - de har bare et problem: De larmer! Dette irriterer mange brugere. Personligt foretrækker jeg på serversiden at tjekke om alle input-felter f.eks. er udfyldt, og er de ikke så redirecter jeg til den oprindelige side, men sætter en fejlvariabel = true. På den oprindelige side tjekker jeg naturligvis for fejlvariablen og er den true, så giver jeg brugeren besked om hans fejl.
det jeg skal bruge den til, er at jeg checker om et bestemt søgekriterie findes i databasen,..findes det ikke vil jeg gerne fortælle brugeren at han skal prøve igen fordi det søgte ikke findes
Hvis det er en søgemaskine, så ville jeg klart holde mig fra alert'en. Søgeord indtastes > Brugeren klikker Søg > Søgefunktionen indlæses og søgningen foretages > Resultatet "vurderes" > Brugeren sendes videre til resultatsiden. Her ville det jo være oplagt at tjekke på resultatet med lidt serverside scripting og hvis antallet af returnerede rows = 0, så udskrives en fejlbesked hvor brugeren oplyses om at hans søgning ikke returnerede noget, og at han skal prøve igen.
hvordan udskrives den,.bare med en Response.write eller hvad,... jeg vil altså gerne have at vide hovrdan man sætter en variables værdi til noget bestemt på serversiden og så bagefter kunne spørge på denne værdi i et javascript,..det må da kunne lade sig gøre
Man kan sige meget om en alert boks, Køn er den ikke. Den larmer.
Men hold da op hvor er den effektiv. Et langt stykke af vejen vil jeg validere serverside, men en alert klientside den er grim, irriterende og brugeren kommer ikke videre før du har tvunget ham til at klikke på den.
<ss> < Her udskriver du almindelig HTML med dit serversidesprog - eftersom jeg ikke ved om du programmerer i PHP eller ASP kan jeg ikke komme med konkrete eksempler: <script language="javascript"> var foo = <ss>; if (foo != "") { alert(foo); } </script>
Viola - vi har overført en serverside variabel til JavaScript.
<ss> udskifter du med det serversidesprog du nu bruger. Nu bruger jeg PHP, men du burde da kunne lure følgende eksempel: <script language="javascript"> var foo = <?php print("Du har lavet en fejl!");?>; if (foo != "") { alert(foo); } </script>
Desværre ikke - serverside og clientside kan ikke snakke sammen direkte, så du bliver nødt til at sætte en clientside variabel lig en stump clientside text udskrevet med serverside funktioner. Besværligt men eneste løsning.
Som sagt, <ss> er bare et stykke pseudo-kode jeg har indsat - du skal udskifte det med et passende stykke serverside kode der udskriver en stump tekst.
Okok - jeg fandt da ud af hvordan man udskriver med ASP: <script language="javascript"> var foo = <%="Der opstod en fejl."%>; if (foo != "") { alert(foo); } </script>
Burde kunne sættes direkte ind i en ASP-fil - så burde du kunne følge mig. :)
Forskellen er, at du kan bruge serverside programmering til at udskrive fejlen. Du kan altså med ASP tjekke om: 1: Din database er nede - udskriv: Der opstod en fejl. Databasen er nede. Prøv igen senere. 2: Query'en blev ikke gennemført pga. ulovlige tegn - udskriv: Der opstod en fejl. Din søgning indeholder ulovlige tegn. 3: Query'en returnerede resultater - gjorde den ikke - udskriv: Din søgning gav ingen resultater.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.