© ilj ilj@flowsim.se
JavaScript prompt()
JavaScript på svenska 27
se även:
> Javascript prompt 1



klicka här
för att visa
en
JavaScript
prompt
!
 
pil som pekar ned mot promptskriptet


 
En klickning på
 
<A HREF = "javascript:iljprompt()">
PROMPT</A>
 
anropar funktionen iljprompt(). Placera funktionen mellan SCRIPT-taggar i HEAD-delen (se MINIMANUAL 1 lite grunder).
 


function iljprompt()
{
iljpromptnamn=
prompt('Skriv någonting','i den här rutan')
//1
if(iljpromptnamn)
//2
{
alert('Du skrev "' + iljpromptnamn +'" i prompten.')
//3
}
else
{
alert('Du klickade på "Avbryt" ...')
//4
}
}
 
Förklaringar till //1 -//4
 
1
Det som öppnar promptfönstret är följande:
 
prompt('Skriv någonting','i den här rutan')
 
Syntaxen är alltså:
 
prompt(UPPMANING,TEXT I RUTAN)
 
Inom första paret citationstecken skriver man den text som ska stå direkt på prompt-fönstret (i exemplet
Skriv någonting), mellan andra paret citationstecken skriver man text som ska stå i textrutan (i exemplet i den här rutan).
 
Om man vill att textrutan ska vara tom kan man låta det vara tomt mellan de här citationstecknen. Man kan också strunta helt i det andra argumentet så här:
 
prompt('Skriv nå't!')
 
I så fall kommer det att stå
undefined i texrutan.
 
Hela raden
 
iljpromptnamn=prompt('Skriv någonting','i den här rutan')
 
betyder att man stoppar in resultatet av prompten i variabeln
iljpromptnamn
 
2
if-satsen kollar om textrutan i promptfönstret fyllts i och man klickat på OK-knappen och visar, om så är fallet, ...
 
3 en JavaScript-alert med texten Du skrev ... i prompten., där de tre punkterna alltså ersätts av det värde som för tillfället finns i variabeln iljpromptnamn, dvs det som användaren skrev i rutan.
 
Citationstecken runt det som ska återges ordagrant medan variabeln
iljpromptnamn inte omges av några citationstecken.
 
I exemplet visas en alert bara för att illustrera vad som händer. I stället för
alert()-raden kan man placera kod som kollar vad som skrevs i textrutan och som beroende på det gör olika saker, t ex:
 
if(iljpromptnamn=='spooks') {window.location='things_ive_seen.html'}
if(iljpromptnamn=='metallica') {window.location='st_anger.html'}
 
På vanlig svenska blir det:
Om webbsidebesökaren skrivit spooks i rutan så ska HTML-sidan things_ive_seen.html visas.
Om webbsidebesökaren skrivit metallica i rutan så ska HTML-sidan st_anger.html visas.
 
4 om rutan i promptfönstret lämnades tom eller man klickade på Avbryt så visas en annan alert med texten Du klickade på...
 

 
LÖSENORD?
Så här kan en funktion, som visar en JavaScript prompt med uppmaning till användaren att ange lösenord, se ut:
 
function iljloesen()
{
iljpromptnamn=prompt('Lösenord tack!','')
//1
if(iljpromptnamn)
{
iljpromptnamn=iljpromptnamn.toLowerCase()
//2
window.location=iljpromptnamn+'.html'
}
}

 
Det hela går alltså ut på att "lösenordet" är detsamma som filnamnet. Skriver användaren
sidaattvisa i rutan så visas filen sidaattvisa.html - om den finns. Det här fungerar av många anledningar inte särskilt bra. Ett bättre sätt att lösenordsskydda filer finns beskrivet under VARIA/ lösenord.
 
Förklaringar till
//1 - //2
 
1
Texten inom parentes slutar med , '', dvs ett kommatecken följt av två enkla citationstecken, och betyder att textrutan i prompten ska vara tom när prompten visas.
 
2 Den här raden gör om de bokstäver användaren skrivit i textrutan till små bokstäver och ska förstås bara användas om filnamnet består av bara små bokstäver.
 
Fler JavaScript-exempel:
onmouseover
image/mouseover
variant
varannan dag
bildväxl/animering
välja bild i rullgardinsmeny
meddelandefönster
datum & tid
meddelande onLoad
onFocus
lastModified
image/mouseover
onblur
klocka
history
images/ animation
ändra bakgrundsfärg
timer
rörlig text i textarea
JavaScript confirm
mer om datum
öppna nytt fönster 1
öppna nytt fönster 2
JavaScript prompt
flytande lager
 
[fler JavaScript-exempel hittar du i menyn i ramen till vänster]
 
en linje
Sidan gjordes av
 
ilj
 
ilj@flowsim.se
 

 
Senast ändrad 2 april 2004.
Den här sidan hör hemma i ett ramsystem
hos:
www.flowsim.se
JavaScript på svenska