Команда confirm объекта window позволяет вывести диалоговое окно с сообщением и двумя кнопками —ОК и ОТМЕНА. В отличии от метода alert( ) , этот метод возвращает логическую величину, значение которой зависит от того, по какой из двух кнопок щелкнет пользователь.
Одна команда сама по себе многого не дает. Нет никакой разницы, что вы выбираете — ОК или ОТМЕНА. Но стоит добавить функции IF (если) и ELSE (иначе), и готовы отличные эффекты.
Пишем скрипт.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Метод confirm</title>
</head>
<body>
<script language="JavaScript">
confirm("Уверены, что хотите войти?")
</script>
</body>
</html>
В окне веб-браузера должно получиться ТАК.
То же самое, что и alert, кроме слова confirm. Рассмотрим пример того, как это делает скрипт.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
</head>
<body>
<script language="JavaScript">
if (confirm("Уверены, что хотите на прошлый урок?") )
{
parent.location='strou11.html';
alert("Счастливого пути");
}
else
{
alert("Tогда оставайтесь");
}
</script>
</body>
</html>
В окне веб-браузера должно получиться ТАК.
И это уже кое-что.Только на этот раз, если нажмете OK, то пойдете по ссылке, а если щелкнете по Отмене, то останетесь.
Рассмотрим скрипт.
Во-первых, скрипт говорит:
if (confirm("Вы уверены, что хотите пойти на прошлый урок?") )
Это значит Если (Здесь ваш шанс сделать выбор)
В нашем случае сonfirm предлагает альтернативу: OK и Отмена. Можно сказать, Да и Нет. Обратите внимание на скобки. После команды if всегда идут скобки, но, как известно, команды сonfirm тоже требует скобок. Следовательно, берем две пары скобок, одна внутри другой.
Сразу же после этого идут команды, выполняемые при каждом варианте ответа. Обратите внимание на фигурные скобки{}. Ведь в действительности это функции. Первая из них показывает, что должно произойти, если пользователь выберет ОК (или Да) .
{
parent.location='strou.htm';
alert("Счастливого пути");
}
;Если помните, несколько уроков назад я говорил, что parent.location означает ссылку. Дальше идет обыкновенная команда alert. Не забудьте про точки с запятой в конце строк.
Мы уже знаем, что если выбрать ОК, запускается функция IF (если). Отмена — другой выбор. Видите, сразу после фигурной скобки идет команда ELSE (иначе), как бы «если нет». И тогда следующий текст...
else
{
alert("Tогда оставайтесь");
}
...означает: если нет, тогда вызвать окно и не менять страницу.
Все это вместе и дает пользователю возможность выбора: входить или не входить.
Это самые основы использования IF и ELSE. Позже команде IF мы посвятим целый урок.
А, вот тоже самое, но с использованием функции.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
<script language="JavaScript">
function muSvr(){
if (confirm("Уверены, что хотите на прошлый урок?") )
{
parent.location='strou11.html';
alert("Счастливого пути");
}
else
{
alert("Tогда оставайтесь");
}
}
</script>
</head>
<body onLoad="muSvr()">
</body>
</html>
В окне веб-браузера должно получиться ТАК.
Давайте рассмотрим более сложный пример. Добавим в строку состояния текст и в окно предупреждения при выборе кнопки ОТМЕНА — время.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
<script language="JavaScript">
function myStr(){
txt=("Уверены, что хотите на прошлый урок?");
if(confirm(txt))
{
parent.location='strou11.html';
defaultStatus ="Не уходите! Побудьте еще немного."
alert('Тогда оставайтесь');
}
else{
txt=("Уже уходите? Так рано? Сейчас всего то ");
var d=new Date();
var h=d.getHours();
var m=d.getMinutes();
var s=d.getSeconds();
alert(txt +h+'час'+m+' мин'+s+' сек');
}
}
</script>
</head>
<body onLoad="myStr()">
</body>
</html>
В окне веб-браузера должно получиться ТАК.
Разберем, что получилось.