Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи мови JavaScript.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.04 Mб
Скачать

3.3.11. Однострочное поле password

Для запровадження такої інформації, як пароли, у формах розміщають однострочные поля редагування типу password:

<INPUT TYPE="password"

NАМЕ="Ім'я_поля_tехt"

VALUE="Значення"

SIZE= Розмір_поля>

Для поля password можна зазначити параметри NAME, VALUE і SIZE. Це поле не може мати оброблювачів подій.

Параметр NAME дозволяє задати ім'я поля, що необхідно для обертання до властивостей об'єкта password, що відповідає цьому полю.

За допомогою параметра VALUE можна записати в поле довільний текстовий рядок.

Параметр SIZE визначає розмір (ширину) текстового поля в символах. Це розмір видимої частини поля. Він не обмежує довжину рядка, що можна ввести в даному полі.

Поле password схоже на поле text, розглянуте раніше. Головна відмінність полягає в тому, що символи введеного в цьому полі тексту заміняються на зірочки.

Властивості об'єкта password

Сценаріям JavaScript доступні три властивості поля редагування password:

Властивість Опис

defaultValue Відбиває стан параметра VALUE

name Значення параметра NAME

value Поточний уміст поля редагування

Так само, як і для поля text, відразу після відображення поля редагування властивості defaultValue і value бережуть однакові рядки. Коли користувач редагує текст, усі зміни відбиваються у властивості value.

Змінюючи уміст властивості value, сценарій може змінити вміст поля редагування типу password.

Методи об'єкта password

Для об'єкта password визначені методи focus, blur і select, що не мають параметрів.

За допомогою методу focus сценарій JavaScript може передати фокус полю редагування, а за допомогою методу blur - відібрати фокус у цього поля. Виклик методу select призводить до виділення вмісту поля редагування.

3.3.12. Запровадження ідентифікатора і пароля

У якості практичного приклада застосування сценарію JavaScript для опрацювання інформації з полів text і password приведений документ HTML, призначений для реєстрації користувачів.

У формі реєстрації новий користувач повинний увести свій ідентифікатор, а також задати пароль (3.15).

У процесі запровадження пароля легко припуститися помилки, тому звичайно в системах реєстрації потрібно вводити новий пароль два рази. Якщо обидва рази був введений однаковий пароль, то він стає активним для даного користувача.

Сценарій, що опрацьовує дані з форми, вирішує дві задачі. По-перше, він перетворює символи ідентифікатора користувача в прописні. По-друге, сценарій перевіряє ідентичність паролів, введених у полях "Пароль" і "Перевірка пароля".

Якщо введені пароли ідентичні, те після натискання на кнопку Соmplete користувач побачить на екрані діалогову панель із введеним ідентифікатором н паролем.

Якщо пароли не збігаються, сценарій пропонує користувачу повторити запровадження паролів.

Вихідний текст нашого документа HTML, що реєструє нових користувачів, показаний у листинге 3.6.

Листинг 3.6. Файл chapter3/password/password. html

<HTML>

<HEAD>

<ТIТLЕ>Запровадження і перевірка пароля</ТIТLЕ>

<SCRIPT LANGUAGE="JavaScript">

<!--

function Complete()

{

if(Sel.pwd.value != Sel.pwdl.value)

alert("Помилка при запровадженні пароля\nПопробуйте ще разом");

else

{

var szId="";

var szPwd="";

szId = Sel. id. value;

szPwd = Sel.pwd.valued;

alert("Реєстрація виконана : \n" + "ID=" + szId + "\nPassword=" + szPwd) ;

}

}

//-->

</SCRIPT>

</HEAD>

<BODY BGCOLOR=white>

<Н1>Реєстрація</Н1>

<FORM NAME="Sel">

<TABLE>

<ТR><ТD><У>Ідентифікатор:</У></ТD><ТD>< INPUT

TYPE="text" NAME="id"

onChange="this.value=this.value.toUpperCase()"

SIZE="20" ></TD></TR>

<ТR><ТD><У>Пароль : </BX/TD><TD><INPUT TYPE="password"

NAME="pwd" SIZE="20"></TD></TR>

<ТR><ТD><У>Перевірка пароля: </BX/TD><TD><INPUT TYPE="password"

NAME="pwdl" SIZE="20"></TD></TR>

</TABLE>

<P> <TABLE>

<TR><TD><INPUT TYPE="button" VALUE="Complete"

onClick="Complete();"></TD>

<TD><INPUT TYPE="reset" VALUE="Reset"></TD></TR>

</TABLE>

</FORM>

</BODY>

</HTML>

Перетворення символів ідентифікатора користувача виконує оброблювач події onChange, визначений для поля id типу text:

<INPUT TYPE="text" NAME="id"

onChange="this. value=this. value. toUpperCase()" SIZE="20">

Це перетворення виконує функція toUpperCase, котрої вже користувалися раніш.

Що ж стосується перевірки пароля, то цим займається функція Complete, визначена в якості оброблювача події onClick для однойменної кнопки, призначеної для посилки заповненої форми.

От вихідний текст цієї функції:

function Complete()

{

if(Sel.pwd.value != Sel.pwdl.value)

alert("Помилка при запровадженні пароля\nПопробуйте ще разом");

else

{

var szld="";

var szPwd="";

szId = Sel.id.value;

szPwd = Sel.pwd.valued;

alert("Реєстрація виконана:\n" + "ID=" + szld + "\nPassword=" + szPwd);

}

}

Якщо користувач увів різні пароли, значення властивостей Sel. pwd. value і Sel. pwdl. value не збігаються. У цьому випадку функція Complete відображає діалогову панель із повідомленням про помилку.

При збігу паролів функція Complete витягає значення ідентифікатора користувача Sel. id. value і його пароля Sel. pwd. value, а потім відображає їх на екрані.