[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Модальное окно после события submit
sirdo
Добрый день друзья! У меня серьезная есть проблема, и поскольку я новичок в php, то справится не хватило сноровки и знаний. Прошу помочь.Имеется форма для отправки данных, по нажатию на кнопку данные передаются php скрипту, срабатывает submit, страница обновляется вот собственно и все.На событие submit формы подвешена функция которая проверяет поля на заполненность и пустоту.А теперь собственно проблема.

После отправки данных мне необходимо, чтобы появлялось модальное окно с надписью ваши данные отправлены.

Пробовал повесить на кнопку. Не получилось. прошу помочь разобраться.
GET
В случае, когда страница обновилась, вместе с результатом страницы можно вернуть GET параметр в адресной строке типа mysite.com/regist/?rezult=ok или нарисовать на странице пустой элемент типа <div id="result">Данные успешно отправлены</div> или может даже создать переменную сессии, но это крайний случай. Дальше в javascript ловишь это событие и выдаешь модальное окно <script>alert('Данные успешно отправлены')</script>, а лучше красиво оформить <div id="result">Данные успешно отправлены</div> и чтоб это окно плавно отрисовалось над всем контентом, например, используя jquery.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
sirdo
Спасибо. Можно хотя бы небольшой кусок кода для примера. Буду признателен.
Игорь_Vasinsky
1. данные успешно отправлены - только когда они успешно отправлены, а не когда нажата кнопка
2. странно как то вы пробовали

<input type="submit" onclick="alert('Text');">


3. после того как форма отправлена
и данные действительно отправлены, то
сделайте редирект на ту же страницу, только передайте в $_GET параметр
ориентируясь на него, выводите свой модальный контент



if(DATA_SENDED_SUCCESS){
Header("location : /page.php?send=ok");
}



if(isset($_GET['send']) && $_GET['send']) == 'ok'){
echo '<div>Modal Window</div>';
}


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
Цитата (sirdo @ 16.12.2015 - 08:29)
Добрый день друзья! У меня серьезная есть проблема, и поскольку я новичок в php, то справится не хватило сноровки и знаний. Прошу помочь.Имеется форма для отправки данных, по нажатию на кнопку данные передаются php скрипту, срабатывает submit, страница обновляется вот собственно и все.На событие submit формы подвешена функция которая проверяет поля на заполненность и пустоту.А теперь собственно проблема.

После отправки данных мне необходимо, чтобы появлялось модальное окно с надписью ваши данные отправлены.

Пробовал повесить на кнопку. Не получилось. прошу помочь разобраться.

У тебя каша из желаемых / освоенных технологий в голове.

Раз ты форму отправил обычным submit, то браузер ушел на страницу обработчика. Это уже новая, совсем другая страница, пусть даже и по тому же самому адресу.
Т.е. уже ни формы нет, ни кнопки, ни обработчика на эту кнопку.
есть другие форма, кнопка и обработчик, которые терпеливо ждут нажатия.

Если ты хочешь всплывающие, модальные (блин, слово-то какое модное нынче... все используют, а что оно означает толком не знают... ну да ладно, это отдельная тема), то отправляй в обработчике кнопки форму Ajax-ом, получай ответ и выводи свое модальное окно

Цитата (Игорь_Vasinsky @ 16.12.2015 - 10:58)
только передайте в $_GET параметр
ориентируясь на него, выводите свой модальный контент

Это он еще неделю будет искать, как в яваскрипте распарсить url

_____________
[продано копирайтерам]
sirdo
Блин каша и вправду присутствует. В связи с чем вопрос. Как оправить форму ajaxom по кнопке через обработчик кнопки?
sirdo
Что касается <input type="submit" onclick="alert('Text');"> поскольку он выдает сообщение перед исполнением submit
sirdo
Имеется ввиду такой вариант не походит.
Игорь_Vasinsky
sirdo
ты только это в моём посту увидел? ли тупо засел в кустах и ждёшь готовый код?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sirdo
Нет конечно. Я вчера пробовал ajaxom запускать модальное окно - не получилось. Опять же говорю не хватает знаний, иначе бы не обращался. Мне не нужен готовый код. Просто расскажите как правильно прикрутить ajax к кнопке и обработать. У меня получилось при нажатии на ссылку кусок текста на странице без перезагрузки (ajax), но вот к кнопке прикрутить не получается. Не срабатывает. А может быть я чего неправильно делаю.
Игорь_Vasinsky
Цитата
Я вчера пробовал ajaxom запускать модальное окно

ajax это транспорт - который гоняет даные туда-сюда - с клиента на сервер и обратно

а модальное окно открывать надо JS скриптом

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
icedfox
Цитата (sirdo @ 16.12.2015 - 15:29)
Я вчера пробовал ajaxom запускать модальное окно - не получилось.

Начни по порядку:
1. научись показывать модальное окно при нажатии на кнопку
2. Научись отправлять и принимать данные аяксом
3. затем это все собери в кучу:
- тык по кнопке
- данные ушли на сервер ( через аякс на php)
- там они обработались и сервер вернул ответ ( из php в аякс)
- в зависимости от полученных данных ты показываешь результат (например модальное окно)

П.С. В инете полно готовых примеров, только не копируй их, а разберись в принципе, иначе накосячишь и не поймешь где именно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.