/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
JavaScript og Boolean?
Fra : Stefan Kristensen


Dato : 27-05-04 08:42

Hej NG.

I en ASP side har brugeren mulighed for at vælge forskellige indstillinger,
der så bliver gemt i en Session variabel og i en cookie.
I starten af siden sættes en variable, Refresh, til False. Hvis nogle af
indstillingerne ændres, sættes Refresh til True.
I bunden af siden er der et script, der skal opdatere siden hvis der er
nogle ændringer:
<script type="text/javascript">
var refresh
refresh = <%=Refresh%>
if(refresh)
alert("Gørt noget")
</script>

Problemet at jeg får en fejl, der siger "Error: False is not defined"
Hvad betyder det, og hvad skal jeg lave om for at det virker?

mvh
Stefan



 
 
Chrisser (27-05-2004)
Kommentar
Fra : Chrisser


Dato : 27-05-04 10:18

Stefan Kristensen wrote:
> Hej NG.
>
> I en ASP side har brugeren mulighed for at vælge forskellige
> indstillinger, der så bliver gemt i en Session variabel og i en
> cookie.
> I starten af siden sættes en variable, Refresh, til False. Hvis
> nogle af indstillingerne ændres, sættes Refresh til True.
> I bunden af siden er der et script, der skal opdatere siden hvis
> der er nogle ændringer:
> <script type="text/javascript">
> var refresh
> refresh = <%=Refresh%>
> if(refresh)
> alert("Gørt noget")
> </script>
>
> Problemet at jeg får en fejl, der siger "Error: False is not
> defined"
> Hvad betyder det, og hvad skal jeg lave om for at det virker?

False skal være med småt ( false ) i javascript - lige nu opfattes False som
en uerklæret variabel.

Umiddelbart tror jeg nu ikke du får det til at virke - jeg tror ( uden at
være skråsikker da du ikke har sendt noget kode med ) du blander serverside
og clientside lidt for meget sammen:
Alt ASPkode udføres på serveren - javascript på klienten. Skal du i
javascript bruge en variabel fra ASPkoden skal den sættes før dit script. Du
kan ikke på klientsiden ændre denne variabel - den vil med andre ord
vedblive at være false ( = den værdi du har tildelt i ASPkoden). Hvis jeg
har misforstået hvad det er du gør/vil så glem det.....

Mvh
Chrisser




Stefan Kristensen (27-05-2004)
Kommentar
Fra : Stefan Kristensen


Dato : 27-05-04 10:28

> > Problemet at jeg får en fejl, der siger "Error: False is not
> > defined"
> > Hvad betyder det, og hvad skal jeg lave om for at det virker?
>
> False skal være med småt ( false ) i javascript - lige nu opfattes False
som
> en uerklæret variabel.
Okay. Så langt, så godt

> Alt ASPkode udføres på serveren - javascript på klienten. Skal du i
> javascript bruge en variabel fra ASPkoden skal den sættes før dit script.
Du
> kan ikke på klientsiden ændre denne variabel - den vil med andre ord
> vedblive at være false ( = den værdi du har tildelt i ASPkoden). Hvis jeg
> har misforstået hvad det er du gør/vil så glem det.....
Jeg vil skam ikke ændre værdien af variablen. Den bliver sat i ASP koden, og
så vil jeg have at scripet skal reagere når værdien er sand. Hvis jeg fjerne
if() klausulen og bare skriver værdien af refresh ud, får jeg True/False som
forventet.
Men hvad skal jeg gøre for at JavaScript opfatter ASP variablen som boolean?

mvh
Stefan



Chrisser (27-05-2004)
Kommentar
Fra : Chrisser


Dato : 27-05-04 11:36

Stefan Kristensen wrote:
> Jeg vil skam ikke ændre værdien af variablen. Den bliver sat i ASP
> koden, og så vil jeg have at scripet skal reagere når værdien er
> sand. Hvis jeg fjerne if() klausulen og bare skriver værdien af
> refresh ud, får jeg True/False som forventet.

Ok så misforstod jeg, men:
Hvis du ikke vil ændre på variablen hvorfor blander du så i det hele taget
javascript ind i det ?
Du kan jo lave en Response.Redirect i ASP, vil det ikke give det samme ?

> Men hvad skal jeg gøre for at JavaScript opfatter ASP variablen som
> boolean?

Det sker ikke hvis du skriver det med småt ? Det synes jeg det burde...

Mvh
Chrisser



Stefan Kristensen (27-05-2004)
Kommentar
Fra : Stefan Kristensen


Dato : 27-05-04 11:50

> Ok så misforstod jeg, men:
> Hvis du ikke vil ændre på variablen hvorfor blander du så i det hele taget
> javascript ind i det ?
> Du kan jo lave en Response.Redirect i ASP, vil det ikke give det samme ?
Det er fordi det er et helt frameset der skal reloades med de nye
indstillinger.
Kan man det direkte i ASP?

> > Men hvad skal jeg gøre for at JavaScript opfatter ASP variablen som
> > boolean?
> Det sker ikke hvis du skriver det med småt ? Det synes jeg det burde...
Det synes jeg også...
Hm. Kom lige til at tænke en tanke... Uha da da...
Jeg sætter da bare Refresh i ASP til 0 eller 1 i stedet for False og True.
Men jeg vil stadig gerne vide om ikke det kan lade sig gøre at bruge en ASP
bool som Script bool...

mvh
Stefan



Lasse Reichstein Nie~ (27-05-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 27-05-04 17:00

"Stefan Kristensen" <stefank@asg.com> writes:

> Men jeg vil stadig gerne vide om ikke det kan lade sig gøre at bruge en ASP
> bool som Script bool...

Det giver ikke mening. Du kan ikke sende en ASP *boolean* med til klienten.
Det eneste du sender er rå *tekst*, som så bliver fortolket af klienten.
Den tekst skal så være representationen af en Javascript-boolean ("true"
eller "false").

Prøv:
refresh = <%= Refresh ? "true" : "false" %>
(hvis ASP'en bruger JScript eller C#, ellers find en ækvivalent VB(script)
måde at skrive det på).

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Stefan Kristensen (28-05-2004)
Kommentar
Fra : Stefan Kristensen


Dato : 28-05-04 11:25

> Det giver ikke mening. Du kan ikke sende en ASP *boolean* med til
klienten.
> Det eneste du sender er rå *tekst*, som så bliver fortolket af klienten.
Nu tror jeg den fes ind på lystavlen

> Den tekst skal så være representationen af en Javascript-boolean ("true"
> eller "false").
Og da ASP bruger True og False, virker det selfølgelig ikke. Jeg har også
haft tilsvarende problemer med tyske server hvor det er Vahr og noget andet
krims krams.
Jeg holder mig til 0 og 1.

Tak for hjælpen.

c",)
Stefan



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste