В JavaScript има три основни операции, които ви позволяват да получавате данни от потребителя за по-нататъшна обработка в скриптове. Те са предупреждение, подкана и потвърждение. За какво се използват, как да ги използвате и други нюанси ще бъдат обсъдени по-късно в тази статия.

тревога

Използва се за показване на модален прозорец на екрана на браузъра (това означава, че потребителят не може да щракне върху нищо на страницата, докато не затвори този прозорец. В този пример, докато не щракне върху „OK“ в прозореца).

След показване на съобщението, съдържащо се в предупреждението, изпълнението на скрипта се спира и се възобновява след затваряне на модалния прозорец.

В случай на пълненеполета и щракване върху OK, скриптът ще върне въведената от потребителя информация.

Синтаксисът на тази командамалко по-сложен от предишния, тъй като ви позволява да зададете текста на жалбата на потребителя и съдържанието на полето за въвеждане на информация, което ще се показва по подразбиране: резултат = подкана (заглавие, по подразбиране) ;, където

  • заглавие- съобщение, което ще се покаже на потребителя в модалния прозорец. Аргументът е задължителен.
  • по подразбиране- какво ще се показва в полето за въвеждане на текст по подразбиране. Също така е задължително да се попълни, тъй като ако не е зададено, това може да доведе до грешки в някои браузъри. Ако искате да оставите полето за въвеждане празно, просто задайте подканата, както следва:

    var myTest = prompt("Всяка информация" , """);

малък пример за бързо използване:

var year = prompt( „Коя година завършихте гимназия?“, 2008); alert("Вие сте завършил " + година + " на годината!" );

Обикновено тази команда се използва за събиране на данни от потребители, необходими на скрипта, за да продължи по-нататъшната си работа.

потвърди

Също така представлява модален прозорец. Тъй като не е трудно да се познае от името, то обикновено се използва, за да се договори нещо с потребителя.

Изострен за това - за взаимодействие, той предоставя на потребителя бутони OK и CANCEL, които връщат съответно булевите стойности true и false на скрипта Оценки: 4 (средно 4 от 5)

В този урок ще се запознаем с методите на обекта прозорец: alert(), prompt() и confirm().

метод alert().

Методът alert() има за цел да покаже предупредителен диалогов прозорец с посоченото съобщение и бутон OK на екрана на потребителя. Може да се използва за предаване на важна информация на потребителя.

window.alert(Параметър_1);

Методът alert() има един задължителен параметър, който е текстът на съобщението, което се показва в диалоговия прозорец. Този метод не връща нищо в резултат на изпълнението си.

Например, нека покажем предупредителен диалогов прозорец за посетител на сайт, когато щракне върху връзка: Отидете на сайта

метод потвърждение().

Методът confirm() на обекта window има за цел да покаже диалогов прозорец с посоченото съобщение и бутоните OK и Cancel на екрана на потребителя. Можете да използвате прозореца за потвърждение, за да поискате от потребителя разрешение за извършване на действие.

var resultConfirm = потвърждение(Параметър_1);

Този метод има един параметър - текстът на съобщението, което ще се покаже в диалоговия прозорец.

Методът confirm() връща една от двете стойности като резултат (resultConfirm) от неговото изпълнение:

  • true, ако потребителят е щракнал OK;
  • false, ако потребителят е щракнал Отказ или го е затворил.

Например, нека покажем в елемента p с id="resultConfirm" резултата от кликването на потребителя върху бутона "OK" в диалоговия прозорец:

метод prompt().

Методът prompt() е предназначен да показва диалогов прозорец със съобщение, текстово поле за въвеждане на данни и бутони "ОК" и "Отказ" на екрана на потребителя. Предназначен е за изискване на данни от потребителя.

var resultPrompt = подкана(Параметър_1, Параметър_2);

Този метод има два параметъра:

  • съобщение, което да се покаже в диалоговия прозорец. Този параметър е задължителен и съдържа съобщение, което "казва" какви данни потребителят трябва да въведе в текстовото поле;
  • вторият параметър е незадължителен и може да се използва за указване на първоначалната стойност, която ще се показва в полето за въвеждане на диалоговия прозорец, когато се отвори.

В зависимост от действията на потребителя, методът prompt() може да върне следните данни:

  • текстова стойност - ако полето за въвеждане съдържа данни и потребителят е натиснал "OK";
  • празен низ - ако полето за въвеждане не съдържа данни и потребителят е натиснал "OK";
  • null - ако потребителят щракне върху "Отказ" или затвори този прозорец, няма значение какви данни са въведени в текстовото поле.

Забележка: Диалоговият прозорец, който се появява в резултат на изпълнение на един от методите alert(), confirm() или prompt(), е модален, т.е. той блокира достъпа на потребителя до родителското приложение (браузър), докато потребителят затвори диалоговия прозорец.

Например ще поискаме от потребителя име и в зависимост от резултата ще покажем текста в елемента c id="nameUser" :

Например, нека помолим потребителя да познае числото 8:

... Познай числото

В тази статия ще разгледаме три интересни метода, а именно методи alert(), confirm() и prompt().. Те всички предназначени за взаимодействие с потребителя.

И трите метода принадлежат към обекта прозорец. И те могат да бъдат извикани така: window.method_name(); Но JavaScript ни позволява да не указваме този обект прозорец, а просто да напишем името на метода.

Ще започнем с метода alert(). Този метод показва определеното съобщение в прозореца на браузъра на потребителя. Това поле ще се покаже в горната част на цялата страница и докато потребителят не щракне върху бутона OK, няма да се затвори.

За да демонстрираме, нека покажем някакво съобщение, използвайки метода alert ().

var today_is = "понеделник"; alert("Днес е " + today_is);


Вътре в метода можем да посочим произволен низ, само без html тагов. Те не се обработват тук, а се показват така, както са.

Ако низът, който искаме да посочим, е много дълъг и искаме да преминем към него нова линия, тогава тук е html тагът
няма да работи. Тук трябва да използвате знака "\n".

Предупреждение("Лукааааааааааааааааа \nStringgggggg");


Този метод се използва често за намиране на грешка в кода.

Процесът на обработка на кода върви отгоре надолу, така че за да хванем грешка, ние просто записваме метода alert () в предвидената област, където се намира грешката. И ако alert() работи, тогава няма грешки до реда, където е написано.

След това трябва да го преместите един ред или повече по-долу. Запазваме промените, опресняваме отново страницата в браузъра и виждаме дали alert() работи, което означава, че няма грешки преди реда, където се намира, в противен случай, ако не работи, грешката е на реда по-горе, където е в момента. По този начин можете да намерите грешка в кода.

метод потвърждение().

Този метод се използва за потвърждаване на отговора на даден въпрос. Има само две опции за отговор, да (ОК) или не (Отказ / Отказ). Ако потребителят отговори с „да“, тогава методът връща true, в противен случай връща false.

Например ще покажем прозорец с помощта на метода confirm(), където ще попитаме потребителя „Сигурни ли сте, че искате да напуснете страницата?“. Ако потребителят отговори с „да“, тогава чрез метода alert() ще изведем такова съобщение „Потребителят иска да напусне страницата“, в противен случай ще изведем друго съобщение „Потребителят НЕ иска да напусне страницата“.

Var user_answer = confirm("Сигурни ли сте, че искате да напуснете страницата?"); if(user_answer) alert("Потребителят иска да напусне страницата"); else alert("Потребителят НЕ желае \nда напусне страницата");


Ето как работи методът confirm(). Може да се използва при различни поводи. Например, преди да изтриете нещо от сайта, обичайно е да попитате потребителя дали е сигурен в действията си. Или, преди да изпратите формуляра, можете също да попитате потребителя „Попълнихте ли всичко правилно?“ Ако той отговори с „да“, тогава формулярът ще бъде изпратен, в противен случай няма да бъде изпратен.

метод prompt().

И последният метод, който ще научим, е методът prompt(). Този метод се използва по-рядко от другите два. Позволява ви да получите информация от потребителя, която той ще въведе в текстовото поле.

В резултат на това методът prompt() връща или входния низ, ако потребителят щракне върху бутона OK, или нула, ако потребителят щракне върху бутона за отказ.

Като параметър, тоест вътре в скобите този методможем да напишем подкана или въпрос, за да уведомим потребителя каква информация да въведе.

Например, нека помолим потребителя да отговори на въпроса "Как се казваш?". Името, въведено от потребителя, ще се покаже на екрана с помощта на метода alert().

Varname = prompt("Как се казвате?"); alert("Вашето име е " + име);

Запазете и отворете страницата в браузъра.


Разбира се, всяка информация може да бъде въведена в текстовото поле от метода prompt(). Тази информация ще бъде върната като низ, дори в случай на числа или други специални знаци.

Например, нека помолим потребителя да въведе две числа, за да ги умножи по-късно. Ще има калкулатор за умножение на числа.

Var x = prompt("Въведете първото число:"); var y = prompt("Въведете второто число:"); //Преобразуване на въведените числа от тип низ в числов тип x = Number(x); y = число (y); document.write(x + " * " + y + " = " + (x * y));

Въведените числа са низове, така че за правилния резултат от умножението тези числа трябва да бъдат предадени през функцията Number(), която ги преобразува от тип низ в нормални числа.

Е, това е всичко. Сега знаете още три метода: alert(), confirm() и prompt(). Които можете спокойно да използвате на практика.

  • методи за прозоречни обекти;
  • метод alert(): кратко резюме;
  • метод confirm() - писане на писма;
  • метод prompt() - да се запознаем, аз съм Щирлиц.

И така, обекти на браузъра. И на първо място - най-старият от тях, обектът прозорец.

Ето основните методи на обекта прозорец(освен тях има и други, но те са малко полезни и за да не затрупвам мозъка с ненужна информация, ще ги отложа до третата серия).

Метод

Описание

Отваряне и затваряне на прозорците на браузъра; е възможно да се определи размера на прозореца, неговото съдържание, както и присъствието клавиатура, адресни полета и други атрибути.

Поява на диалогов прозорец за аларма със съответно съобщение.

Поява на диалогов прозорец за потвърждение с бутони "ОК" и "Отказ".

Появата на диалогов прозорец с подкана с поле за въвеждане на текст.

Задаване или премахване на фокус за прозорец.

Превърта съдържанието на прозорец до определена точка.

Задаване на интервала от време между извикване на функция и оценка на израз.

Задаване на един времеви интервал преди извикване на функция или оценка на израз.

Това вече го знаем прозорецчесто се подразбира, но не се изписва.

Извикване на различни диалогови прозорци

Диалоговите прозорци се използват в програмите за взаимодействие с потребителя.

метод alert().

Ние го анализирахме в самото начало на нашите изследвания. Той създава прост диалогов прозорец със съобщение и бутон OK. Цялото му взаимодействие се ограничава до факта, че потребителят, като натисне този единствен бутон, може да изпрати този прозорец някъде далеч (и благодаря за това).

метод потвърждение().

Метод потвърди()вече позволява на потребителя да вземе най-простото "булево" решение: да каже "да" или "не".

Например щракнете върху този бутон:

Съжалявам за малката шега. Надявам се, че знаете как да използвате бутона за връщане назад.

Как е подредено всичко? Вие, разбира се, видяхте, че имам този метод, комбиниран с предупреждения. И това става с помощта на функцията, която е вмъкната в .

Методът връща две стойности: вярно(ако е наред) и невярно(при отмяна).

AT вярноизпращаме го на съответната страница (свойство hrefобект местоположение) и изведете съответното тревога(). В противен случай (т.е. невярно) просто извежда друг тревога().

И в бутона извикваме функцията в събитието onClick:

След това трябва да извикате тази функция от манипулатора на събития onSubmitетикет

, например:

"http://narod.yandex.ru/send-poll.xhtml"метод="пост" onSubmit= "върни потвърди действие()" >

Ето, например, можете да ми пишете на "сапунка" всичко, което мислите за моите уроци. Ако внезапно се развълнувате и натиснете бутона, а след това някак си стане неудобно, ще се появи диалогов прозорец и ще ви отрезви.

Ако правите изскачащи прозорци, добра практика е да предупредите потребителя и да му дадете избор дали да отвори прозореца или не. За да направите това, преди да заредите прозореца, трябва да освободите диалоговия прозорец "парламентар". потвърди(). Тук функцията се извиква от . Ще говорим за това много скоро, когато преминем към създаването на прозорци с помощта на метода отворен().

метод prompt().

Този метод вече подканва потребителя за конкретни данни. Появява се диалогов прозорец с поле за въвеждане. Методът връща данните, въведени от потребителя в това поле и позволява на програмата да работи с тези данни.

При метода подкана()два аргумента: въпрос (който се появява над полето за въвеждане) и отговор (текстът в полето за въвеждане):

Ако искате полето за въвеждане да изглежда чисто, поставете празни кавички като втори аргумент:

подкана("текст на въпроса","")

Нека видим това в действие. Натиснете бутона, не се страхувайте.

И така, въвели сте (или не сте въвели) данни и сте получили отговор от компютъра въз основа на тези данни (или липса на такива).

Ето една проста версия на тази функция:

Имот innerHTML, което ви позволява да контролирате съдържанието на етикета, с което се запознахме в урок 10, когато програмирахме имената под снимките.

А ето и кода за бутона и празния абзац за поздрава.


Но ако се оказахте моят съименник, видяхте, че функцията реагира и на това.

Как да направите това в "грубия" вариант, вече можете да се досетите сами. Трябва да проверите променливата потребителско имене само на празни кавички, но и на " Андрю“ и добавете още един акос подходящия текст (можете да се упражнявате сами).

Но ако напишете " Андрю", "Андрюша", "Андрюшка", "Андрюха", "Андрейка", "Андрей Иванович"и т.н., тогава резултатът ще бъде подобен, въпреки че не минах изрично през всички тези стойности, а успях само пет реда: " Андре", "Андрю", "Андрю", "Андрейче" и " Андрейчу"(последните три - за да се изключат Андреев, Андрейченко и Андрейчук от съименниците, като се запази Андрейчик в съименниците).

Тоест можете да познаете, че функцията проверява променливата потребителско имеза първите 5, 6 или 8 знака.

Но ще говорим за това малко по-късно, когато преминем към низови обекти и техните методи. Искам само да си представите предварително задачите, които трябва да решим (по-специално всички видове разделяне на низове на поднизове). Тогава самите решения ще изглеждат по-ясни. Но ако не ви се чака, можете да "копирате" функцията от кода и да я "отрежете като орех". За любопитните, написах коментар там.

Метод подкана()може да се използва и за въвеждане на парола.

Това не е краят на урока!

Нека "поиграем на шпионин" малко, за да завършим четенето на тази глава. Първо опитайте да натиснете бутона и да напишете нещо.

А, това е! Но вижте, има още един бутон! Хайде...

Парола:

Натиснете отново първия бутон и въведете правилната парола.

Цялото това забавление може би има ефект, но всъщност паролата може да бъде намерена чрез натискане десен бутони го разглеждаме в код. Някои може наивно да си помислят, че е достатъчно да поставите кода в отделен .js файл. Но в кода на страницата ще има връзка към този файл с адреса. И ако го наберете адресна лента, тогава ще се отвори файл с JavaScript код :)

Възможно ли е да шифровате паролата в код? Можете, но това отново изисква манипулиране на низове заедно с използването на някои математически методи. Когато стигнем до всичко това, ще проучим и „истинския“ скрипт за парола. Но техниката за взаимодействие с потребителя ще остане същата: методът подкана(). (Възможно ли е да „разбиете“ криптирана парола? Уви, няма ограничение за съвършенството на хакерите ...)

По същия начин, както сме „уловили” името или липсата му, ще хванем и паролата с функцията.

Ако въведете неправилна парола или не въведете нищо, редът

document.getElementById("no").style.display = "block"

отваря блока с втория бутон

И ако е въведена правилната парола, действието се прехвърля към низа

document.getElementById("да").style.display = "блок",

който отваря следващия блок

Спри, какви са тези крякозубри? Това е прост шифър, скоро ще обясня.

Междувременно давам кода на тези блокове (за по-голяма яснота пропускам таблицата с рамки, която съм приложил в последния блок):


"no" style="display: none;" >

А, това е! Но вижте, има още един бутон! Хайде...




"mypassword" style="display: none;" >

Парола:


Натиснете отново първия бутон и въведете правилната парола.



"yes" style="display: none;" >

Сега четем по-нататък.


. . . . .
. . . . .

И така, относно криптирането. Тя е много нещастна. всякакви, познаващи функции бягство()и изключване (), веднага ще го хакне.

функция escape("въведете низ тук")преобразува символите в техните шестнадесетични стойности.

функция unescape("вмъкнете quackaubers тук")прави обратното.

За да шифровате паролата по този начин, трябва да я прекарате у дома бягство(), копирайте резултата и го поставете в изключване (). Но това, повтарям, не е сериозно.

Ами за пълен комплект- функция за втория бутон:

За показване на стандартни диалогови прозорци JavaScript има само три метода, които научихме днес. Въпреки че тези методи не се случват много често, способността да ги използвате уверено е изключително полезна. Те са прости, но в същото време са, така да се каже, „чисто“ програмиране. Те са много добри, за да напълните ръката си в овладяването на език за програмиране. И ви съветвам да експериментирате с тях по всякакъв начин, макар и безцелно от прагматична гледна точка. добро програмиране- това е вълнуваща игра, както всъщност всяко творчество.