Crearea ferestrelor de avertizare ºi confirmare


Una din principalele utilizãri ale limbajului JavaScript este posibilitatea de a oferii feed-back vizitatorilor. În conceptul de interfaþã cu utilizatorul, "mai puþin" este în general "mai mult". Aþi putea de exemplu sã atrageþi atenþia utilizatorului folosind sunete ºi bannere animate, dar puteþi crea ºi ceva mai simplu, adicã o casetã de dialog de bun gust. Pentru a avertiza un utilizator se foloseºte metoda alert() astfel:


Cod:

alert
('Bau, aceasta este fereastra generata cu alert')


Textul dorit trebuie plasat între ghilimele duble sau simple.
Pentru cazul în care doriþi ca vizitatorul sã ia anumite decizii existã instrucþiunile condiþionale.
Instrucþiunile condiþionale sunt compuse din trei parþi:
- secþiune if (dacã), în care se efectueazã testul,
- secþiunea then (atunci), unde sunt puse instrucþiunile pe care dorim sã se execute în cazul în care rezultatul este pozitiv,
- ºi secþiunea opþionalã else (în caz contrar), care conþine partea de script în cazul în care rezultatul este negativ.
Expresia este încadratã între paranteze rotunde, iar conþinutul celorlalte secþiuni este încadrat între acolade.
Pentru a confirma o opþiune putem face în felul urmãtor:


Cod:

<script language="JavaScript"  type="text/javascript">
<!--
if (
confirm("Esti sigur ca vrei asta?"))
    {
    
alert("Ai spus da")
    }
else
    {
    
alert("Ai spus nu")
    }
-->
</script>


Metoda confirm( ) preia un parametru (întrebarea adresatã utilizatorului) ºi returneazã o valoare (adevãrat sau fals) în funcþie de rãspunsul utilizatorului.
Atenþie!
În limbajul JavaScript nu existã operatorul then, el este atribuit automat zonei TRUE. Prezenþa acoladelor nu este obligatorie în cadrul instrucþiunilor condiþionate în cazul în care blocul de cod este format dintr-o singurã înstrucþiune (ºi numai în acest caz).

O metodã alternativã de a scrie un bloc condiþional este:

(conditie) ? parteaAdevarat :
parteaFals


care este echivalentã cu:

if (conditie)
   {
   parteaAdev[rat
   }
else
   {
   parteaFals
   }


Nu este obligatoriu ca acoladele sã fie prezente la începutul sau la sfârºitul liniilor, sau ca blocurile true sau false sã fie indentate. Este o chestiune de stil, eu asa consider codul mai inteligibil ºi mai comod de înteles.
Se pot plasa oricâte instrucþiuni doriþi în interiorul acoladelor corespunzãtoare secþiunii then ºi secþiunii else.

Uneori, în loc de o întrebare cu rãspuns de tipul da-nu, este necesar sã primiþi un rãspuns mai specific. Pentru asta existã metoda prompt( ).
Acestei metode îi sunt pasate douã informaþii (parametrii): întrebarea pusã utilizatorului ºi rãspunsul implicit. Ea returneazã fie rãspunsul utilizatorului, fie nul.
Valoarea "null" se obþine la apãsarea butonului "Cancel" sau când nu se primeºte nici un parametru de la utilizator. Este recomandat sã specificaþi întotdeauna al doilea parametru (rãspunsul implicit) deoarece pe unele browsere, în cazul în care acest parametru lipseºte, se va afiºa fereastra de interogare cu undefined (nedefinit) ca rãspuns implicit. Soluþia la problema asta este sã includeþi întotdeauna un rãspuns implicit oarecare, chiar dacã este numai un ºir vid de caractere.


Cod:

<script language="JavaScript"  type="text/javascript">
<!--
raspuns  prompt("Esti sigur ca asta vrei?" " ")
if (
raspuns)
    {
    
alert("Ai spus "+raspuns)
    }
else
    {
    
alert("Ai refuzat sa raspunzi")
    }
-->
</script>