С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
1

Confirm, окно да нет

01.04.2019, 10:51. Показов 6041. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Javascript
1
<button type="submit" name="name" value="name" style="border-radius: 0;" onclick="(function() {if(confim(\"Отформатировать системный диск?\")) {} else { return false; } })">УДАЛИТЬ</button>
Что не так, забыл, как сделать всплывающее окно с подтверждением и заблокировать отправку формы при отказе??
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2019, 10:51
Ответы с готовыми решениями:

Что возвратит метод confirm(), если пользователь просто закроет окно запроса?
Что возвратит метод confirm(), если пользователь просто закроет окно запроса? (Отметьте один...

Что бы я ни нажал в confirm, будь то "Да" либо "Нет", все равно выдает команду: alert('Извините, но вам нет 18-ти')
Чтобы я не нажал, будь то &quot;Да&quot; либо &quot;Нет&quot;, выдает все равно команду: alert('Извините, но вам нет...

Создать окно произвольного размера, скрыть окно, показать окно, удалить окно.
Создать окно произвольного размера, скрыть окно, показать окно, удалить окно. Для создания окна...

диалоговое окно да /нет
Привет. Есть функция удаления чего то из базы. Она внесена на страницу, хочу сделать так, чтобы при...

5
Эксперт JS
6496 / 3906 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
01.04.2019, 11:53 2
Здравствуйте.
confirm неправильно написали.

А вообще грамотно отправлять форму с подтверждением нужно так:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <form>
        <input name="noname" value="Нечто"/>
        <button type="button" name="name" value="name" style="border-radius: 0;">УДАЛИТЬ</button>
    </form>
    <script>
        let form = document.forms[0];
        form["name"].onclick = handler;
 
        function handler() {
            if (confirm("Отформатировать системный диск?")) {
                alert("submit");
                form.submit(); // Реально отправить форму
            }
            // Действия в случае отмены даже необязательны при <button type="button"
        }
    </script>
</body>
</html>
1
Эксперт JS
6496 / 3906 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
02.04.2019, 10:03 3
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

Прикольно. Век живи, век учись.
https://documentation.help/MS-... S/form.htm
If the form includes only one text box and the user presses ENTER, the onsubmit event fires.
Издевательство какое-то.
Если форма содержит ЕДИНСТВЕННЫЙ html-элемент с типом text, то форма отправится по ENTER.
Если мы НЕ хотим отправлять по ENTER, тогда надо ставить ловушку для form.onsubmit:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <form>
        <input name="noname" value="Нечто" />
        <!-- <input name="noname2" value="Нечто2" /> -->
        <button type="button" name="name" value="name" style="border-radius: 0;">УДАЛИТЬ</button>
    </form>
    <script>
        var form = document.forms[0];
        form["name"].onclick = handler;
 
        // Отмена отправки по Enter:
        form.onsubmit = () => false; // ES6
        form.onsubmit = function () { return false; } // ES5
 
        function handler() {
            if (confirm("Отформатировать системный диск?")) {
                alert("submit");
                form.submit(); // Реально отправить форму
            }
            // Действия в случае отмены даже необязательны при <button type="button"
        }
    </script>
</body>
</html>
Если форма содержит НЕ ЕДИНСТВЕННЫЙ html-элемент с типом text, то форма НЕ отправится по ENTER:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <form>
        <input name="noname" value="Нечто" />
        <input name="noname2" value="Нечто2" />
        <button type="button" name="name" value="name" style="border-radius: 0;">УДАЛИТЬ</button>
    </form>
    <script>
        var form = document.forms[0];
        form["name"].onclick = handler;
 
        // // Отмена отправки по Enter:
        // form.onsubmit = () => false; // ES6
        // form.onsubmit = function () { return false; } // ES5
 
        function handler() {
            if (confirm("Отформатировать системный диск?")) {
                alert("submit");
                form.submit(); // Реально отправить форму
            }
            // Действия в случае отмены даже необязательны при <button type="button"
        }
    </script>
</body>
</html>
-------------------------------------
Противоположный случай - мы хотим отправить форму по ENTER.

Для единственного поля ввода.
Кнопка с типом submit НЕ ТРЕБУЕТСЯ:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <form>
        <input name="noname" value="Нечто" />
        <!-- <input name="noname2" value="Нечто2" /> -->
        <!-- <button type="submit" name="name" value="name" style="border-radius: 0;">УДАЛИТЬ</button> // submit Для отправки по ENTER для НЕ единственного поля ввода -->
    </form>
    <script>
        var form = document.forms[0];
        form.onsubmit = handler; // Для отправки по ENTER
 
        // // Отмена отправки по Enter:
        // form.onsubmit = () => false; // ES6
        // form.onsubmit = function () { return false; } // ES5
 
        function handler() {
            if (confirm("Отформатировать системный диск?")) {
                alert("submit");
                form.submit(); // Реально отправить форму
            }
            else
                return false;
            // Действия в случае отмены даже необязательны при <button type="button"
        }
    </script>
</body>
</html>
Для НЕ ЕДИНСТВЕННОГО поля ввода, если мы хотим отправить по ENTER.
Кнопка с типом submit ТРЕБУЕТСЯ:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <form>
        <input name="noname" value="Нечто" />
        <input name="noname2" value="Нечто2" />
        <button type="submit" name="name" value="name" style="border-radius: 0;">УДАЛИТЬ</button> <!--// submit Для отправки по ENTER для НЕ единственного поля ввода-->
    </form>
    <script>
        var form = document.forms[0];
        form.onsubmit = handler; // Для отправки по ENTER для НЕ единственного поля ввода
 
        // // Отмена отправки по Enter:
        // form.onsubmit = () => false; // ES6
        // form.onsubmit = function () { return false; } // ES5
 
        function handler() {
            if (confirm("Отформатировать системный диск?")) {
                alert("submit");
                form.submit(); // Реально отправить форму
            }
            else
                return false;
            // Действия в случае отмены даже необязательны при <button type="button"
        }
    </script>
</body>
</html>
Программирование - это весело
0
74 / 29 / 4
Регистрация: 16.10.2017
Сообщений: 95
02.04.2019, 11:27 4
Цитата Сообщение от amr-now Посмотреть сообщение
Программирование - это весело
Так наверное потому что пошли обходным путем, вместо замены события на onsubmit заменили тип кнопки
0
Эксперт JS
6496 / 3906 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
02.04.2019, 11:29 5
timen, потому что рассмотрели 4 варианта:
1) В форме единственное поле ввода. По ENTER отправлять форму не хотим.
2) В форме не единственное поле ввода. По ENTER отправлять форму не хотим.
3) В форме единственное поле ввода. По ENTER отправлять форму хотим.
4) В форме не единственное поле ввода. По ENTER отправлять форму хотим.
0
74 / 29 / 4
Регистрация: 16.10.2017
Сообщений: 95
03.04.2019, 20:00 6
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

Задача у ТС вроде как не хотим отправлять форму без подтверждения,
универсальный вариант например:
HTML5
1
2
3
4
<form onsubmit="return confirm('уверены?')">
<input type="text" name="text">
<button type="submit" name="name" value="name">УДАЛИТЬ</button>
</form>
2
03.04.2019, 20:00
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.04.2019, 20:00
Помогаю со студенческими работами здесь

confirm
при confirm высвечивается сообщение типа &quot;вы согласны&quot;(да/нет) , как сделать чтобы туда еще...

Не работает confirm в IE
Не отрабатывает следующий код в IE: &lt;a href=&quot;#&quot; onClick=&quot;return confirm('Действительно...

подобие confirm
Подскажите как сделать функцию подобную confirm, само окно с кнопками у меня сделано, как сделать...

Confirm кнопка
Почему не выводит подтверждение? должно же вроде, что не так сделал? Удалять то удаляет. echo...

Confirm Action
Здравствуйте. Не очень много работаю с Xpage, могу ошибатся в терминологии. Есть приложение...

return confirm
Можно ли сделать так чтоб return confirm перезагружал страницу ПОЛНОСТЬЮ. Вариант if...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Администрирован­­­ие Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru