С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/55: Рейтинг темы: голосов - 55, средняя оценка - 4.64
30 / 26 / 9
Регистрация: 06.03.2015
Сообщений: 209

Закрытие PopUp окна

26.08.2018, 23:58. Показов 11238. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Проблема простая, во всяком случае для тех, кто знает: есть обычный попап с табличкой на инпуте. Цель этого окна зарегистрировать заказ. Однако я споткнулся уже на старте - не смог добавить в этот попап две кнопки. Первая кнопка должна закрыть этот попап (обычный крестик), вторая - отправить запрос в БД.
И так, внятный вопрос: как добавить в этот код две кнопки ("закрыть" и "отправить запрос").
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div class="popup" onclick="myFunction()">Click me!
                <table class="popuptext" id="myPopup" border='1'>
                <tr>
                        <th>Номер телефона</th>
                        <th>Имя</th>
                        <th>Заказ</th>
                        <th>Дата поступления заказа</th>
                        <th>Примечание</th>
                </tr>
                <tr>
                        <td><input type="text" value="<?= $_POST["p_nr"] ?>" id="p_nr" name="p_nr" /></td>
                        <td><input type="text" value="<?= $_POST["p_name"] ?>" id="p_name" name="p_name" /></td>
                        <td><input type="text" value="<?= $_POST["p_product"] ?>" id="p_product" name="p_product" /></td>
                        <td><input type="text" value="<?= $_POST["p_stadate"] ?>" id="p_stadate" name="p_stadate" /></td>
                        <td><input type="text" value="<?= $_POST["p_comment"] ?>" id="p_comment" name="p_comment" /></td>
                </tr>
        </div>
JavaScript
1
2
3
4
5
6
7
        <script>
                // When the user clicks on <div>, open the popup
                function myFunction() {
                        var popup = document.getElementById("myPopup");
                        popup.classList.toggle("show");
                }
        </script>
((ТИП КСС))
CSS
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 /* Popup container */
.popup {
    position: relative;
    display: inline-block;
    cursor: pointer;
}
 
/* The actual popup (appears on top) */
.popup .popuptext {
    visibility: hidden;
    width: 160px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 8px 0;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -80px;
}
 
/* Popup arrow */
.popup .popuptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}
 
/* Toggle this class when clicking on the popup container (hide and show the popup) */
.popup .show {
    visibility: visible;
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 1s
}
 
/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
}
 
@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity:1 ;}
}
Добавлено через 3 часа 33 минуты
UPD: Вторая часть вопроса решена (отравка данных). Осталась "простая" кнопка для скрытия попапа.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2018, 23:58
Ответы с готовыми решениями:

Как избежать закрытие popup окна?
проблема следующая: я создаю popup окно с помощью window.createPopup(). Окно закрывается, если пользователь щелкает где либо вне popup -а, ...

Обновление родительского окна из POPUP'a
Помогите пожалуйста.

Открытие POPUP окна без пустого пространства
Всем привет! Вопрос такой: я открываю в поп-ап окне(с заданными параметрами) картинку, но вокруг нее остается пустое пространство. Как от...

5
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
28.08.2018, 12:43
Dave_, а pop-up это у Вас div с этим классом? Можно так:

JavaScript
1
document.getElementsByClassName('popup')[0].remove();
Соответственно нужно кнопке повесить исполнение этой строки. Только в IE11 и моложе не работает.
1
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
28.08.2018, 14:22
Лучший ответ Сообщение было отмечено Dave_ как решение

Решение

Цитата Сообщение от Dave_ Посмотреть сообщение
Осталась "простая" кнопка для скрытия попапа
Больше в голову ничего не пришло Смотрим тут
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div onclick="myFunction('show')">Click me!</div>
<div class="popup">
    <table class="popuptext" id="myPopup" border='1'>
    <div id="close" onclick="myFunction('close')">X</div>
    <tr>
        <th>Номер телефона</th>
        <th>Имя</th>
        <th>Заказ</th>
        <th>Дата поступления заказа</th>
        <th>Примечание</th>
    </tr>
    <tr>
        <td><input type="text" value="p_nr" id="p_nr" name="p_nr" /></td>
        <td><input type="text" value="p_name" id="p_name" name="p_name" /></td>
        <td><input type="text" value="p_product" id="p_product" name="p_product" /></td>
        <td><input type="text" value="p_stadate" id="p_stadate" name="p_stadate" /></td>
        <td><input type="text" value="p_comment" id="p_comment" name="p_comment" /></td>
    </tr>
</div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function myFunction(x) {
    var popup = document.querySelectorAll('.popup')[0];
    if(x == 'show'){
        popup.style.display = 'block';
        setTimeout(()=> {
            popup.style.opacity = 1;
        },50);
    }
    if(x == 'close'){
        popup.style.opacity = 0,
        setTimeout(()=> {
            popup.style.display = 'none';
        },700);
    }
}
CSS
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 /* Popup container */
.popup {
    /* display: none; */
    opacity:  0;
    position: relative;
    cursor: pointer;
    transition: 0.7s;
}
 
/* The actual popup (appears on top) */
.popup .popuptext {
    transition: 0.7s;
    /* opacity:  0; */
    width: 160px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 40px 10px 10px 10px;
    position: absolute;
    z-index: 1;
    /* bottom: 125%; */
    left: 0%;
    margin-top: 50px;
}
 
/* Popup arrow */
.popup .popuptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}
 
/* Toggle this class when clicking on the popup container (hide and show the popup) */
.popup .show {
    visibility: visible;
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 1s;
}
 
/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
}
 
@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity:1 ;}
}
 
#close{
    width: 35px;
    height: 30px;
    /* background-color:  #000; */
    color:  #fff;
    text-align:  center;
    line-height:  30px;
    position:  relative;
    z-index:  2;
    left: 878px;
    top: 88px;
    border-radius: 5px;
    border: 1px solid;
}
 
#close:hover{
    background-color:  #000; 
}
Хотя на свежую голову надо еще подумать...
1
30 / 26 / 9
Регистрация: 06.03.2015
Сообщений: 209
29.08.2018, 22:00  [ТС]
Цитата Сообщение от zlojnaxa Посмотреть сообщение
Больше в голову ничего не пришло Смотрим тут
Хотя на свежую голову надо еще подумать...
Оно! НО... Но проявилась моя старая проблема (горе-верстальщика): в зависимости от разширения этот блок скачет как ...
ПС: на уйфоне это дело чуток ближе к центру родителя
Миниатюры
Закрытие PopUp окна  
0
30 / 26 / 9
Регистрация: 06.03.2015
Сообщений: 209
29.08.2018, 22:15  [ТС]
atanov, Это конечно хорошо, но как-то не хочу делать сайт требовательным к браузеру... В идеале он должен поддерживать и старые браузеры!
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
30.08.2018, 12:19
Dave_, ну тады:

JavaScript
1
элемент-родитель.removeChild(document.getElementsByClassName('popup')[0]);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.08.2018, 12:19
Помогаю со студенческими работами здесь

Как изменить размер дрегого окна IE? (обход блокировки PopUp)
Привет All! Подскажите: у меня в форме при нажатии кнопки submit открывается другое окно (через target = _blank ) Как можно...

Как вытащить color picker из popup окна на передний план?
В общем есть страничка (html+uikit), кнопка по нажатию на которую всплывающее окно (модальное в терминах uikit), во всплывающем окне...

закрытие окна
как можно определить событие закрытия окна и назначить при возникновении этого события то, что мне нужно?

Закрытие модального окна
При закрытии модального окна страница поднимается в начало, как это убрать чтобы клиент остался в том же месте где открывал модальное окно?...

как отследить закрытие основного окна?
body onunload это понятно что не то, это просто уход со страницы, а вот если юзер нажал &quot;крестик справа&quot;, то как-то это можно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru