Выполнение валидации на той же странице

93 views
Skip to first unread message

Dmitriy Tkach

unread,
Apr 17, 2012, 4:58:46 AM4/17/12
to cake-...@googlegroups.com

Можно ли сделать так, чтобы при отправке формы пользователь не переходил на другой адрес, а оставался на той же странице ? Например: есть форма регистрации, при сабмите которой пользователя перекидает на users/signup/. Как сделать так, чтобы выполнялись все действия, но пользователь оставался на той же странице ?

Андрей Филиппов

unread,
Apr 17, 2012, 5:06:24 AM4/17/12
to cake-...@googlegroups.com
Думаю это вам подойдет

$this->redirect($this->referer());


17 апреля 2012 г. 14:58 пользователь Dmitriy Tkach
<w.mille...@gmail.com> написал:

Mister-Fil

unread,
Apr 17, 2012, 5:06:53 AM4/17/12
to cake-...@googlegroups.com
Думаю это вам подойдет

$this->redirect($this->referer()); 

вторник, 17 апреля 2012 г., 14:58:46 UTC+6 пользователь Dmitriy Tkach написал:

Sergey Timtsunyk

unread,
Apr 17, 2012, 5:11:16 AM4/17/12
to cake-...@googlegroups.com
Для cakephp 1.3, посмотрите по ссылке: 
http://book.cakephp.org/1.3/en/view/982/redirect
но мне кажется, что вам нужно смотреть в сторону Ajax

17 апреля 2012 г. 11:58 пользователь Dmitriy Tkach <w.mille...@gmail.com> написал:

Можно ли сделать так, чтобы при отправке формы пользователь не переходил на другой адрес, а оставался на той же странице ? Например: есть форма регистрации, при сабмите которой пользователя перекидает на users/signup/. Как сделать так, чтобы выполнялись все действия, но пользователь оставался на той же странице ?

--
Вы получили это сообщение, поскольку подписаны на группу cake-php-ru.
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msg/cake-php-ru/-/NVwL4hcF_KQJ.
Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу cake-...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru...@googlegroups.com.
О дополнительных функциях можно узнать в группе по адресу http://groups.google.c
$this->red$this->red$this->redom/group/cake-php-ru?hl=ru.



--
С уважением, Тымцуник Сергей.

Dmitriy Tkach

unread,
Apr 19, 2012, 3:04:01 PM4/19/12
to cake-...@googlegroups.com
А как же сообщения об ошибках ?

Вівторок, 17 квітня 2012 р. 12:06:24 UTC+3 користувач Mister-Fil написав:
Думаю это вам подойдет

$this->redirect($this->referer());


17 апреля 2012 г. 14:58 пользователь Dmitriy Tkach

Sergey Timtsunyk

unread,
Apr 19, 2012, 4:37:55 PM4/19/12
to cake-...@googlegroups.com
Тогда через Ajax, отправляешь данные в нужный метод контроллера, при необходимости можно вернуть часть вюхи с нужным содержимым.
Если нужно могу описать пример.

19 апреля 2012 г. 22:04 пользователь Dmitriy Tkach <w.mille...@gmail.com> написал:

--
Вы получили это сообщение, поскольку подписаны на группу cake-php-ru.
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msg/cake-php-ru/-/iHwVDcOPHosJ.

Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу cake-...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru...@googlegroups.com.
О дополнительных функциях можно узнать в группе по адресу http://groups.google.com/group/cake-php-ru?hl=ru.

Dmitriy Tkach

unread,
Apr 19, 2012, 4:55:55 PM4/19/12
to cake-...@googlegroups.com
Как через ajax я знаю. Меня интересует именно только на php.

Четвер, 19 квітня 2012 р. 23:37:55 UTC+3 користувач Sergey Timtsunyk написав:
Тогда через Ajax, отправляешь данные в нужный метод контроллера, при необходимости можно вернуть часть вюхи с нужным содержимым.
Если нужно могу описать пример.

19 апреля 2012 г. 22:04 пользователь Dmitriy Tkach написал:
А как же сообщения об ошибках ?

Вівторок, 17 квітня 2012 р. 12:06:24 UTC+3 користувач Mister-Fil написав:
Думаю это вам подойдет

$this->redirect($this->referer());


17 апреля 2012 г. 14:58 пользователь Dmitriy Tkach
 написал:
> Можно ли сделать так, чтобы при отправке формы пользователь не переходил на
> другой адрес, а оставался на той же странице ? Например: есть форма
> регистрации, при сабмите которой пользователя перекидает на users/signup/.
> Как сделать так, чтобы выполнялись все действия, но пользователь оставался
> на той же странице ?
>

--
Вы получили это сообщение, поскольку подписаны на группу cake-php-ru.
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msg/cake-php-ru/-/iHwVDcOPHosJ.
Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу cake-...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru+unsubscribe@googlegroups.com.

О дополнительных функциях можно узнать в группе по адресу http://groups.google.com/group/cake-php-ru?hl=ru.

Sergey Timtsunyk

unread,
Apr 19, 2012, 5:27:42 PM4/19/12
to cake-...@googlegroups.com
Что именно на php?

19 апреля 2012 г. 23:55 пользователь Dmitriy Tkach <w.mille...@gmail.com> написал:
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msg/cake-php-ru/-/SogKIl9HeiYJ.

Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу cake-...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru...@googlegroups.com.

О дополнительных функциях можно узнать в группе по адресу http://groups.google.com/group/cake-php-ru?hl=ru.

Dmitriy Tkach

unread,
Apr 19, 2012, 5:53:50 PM4/19/12
to cake-...@googlegroups.com
Я имею ввиду, что меня интересует именно без ajax. 
Просто есть форма регистрации и при сабмите не хочу чтобы пользователя перекидало на контроллер/метод/ а выполнялось на той же странице.

Пʼятниця, 20 квітня 2012 р. 00:27:42 UTC+3 користувач Sergey Timtsunyk написав:
Что именно на php?

19 апреля 2012 г. 23:55 пользователь Dmitriy Tkach написал:
Как через ajax я знаю. Меня интересует именно только на php.

Четвер, 19 квітня 2012 р. 23:37:55 UTC+3 користувач Sergey Timtsunyk написав:
Тогда через Ajax, отправляешь данные в нужный метод контроллера, при необходимости можно вернуть часть вюхи с нужным содержимым.
Если нужно могу описать пример.

19 апреля 2012 г. 22:04 пользователь Dmitriy Tkach написал:
А как же сообщения об ошибках ?

Вівторок, 17 квітня 2012 р. 12:06:24 UTC+3 користувач Mister-Fil написав:
Думаю это вам подойдет

$this->redirect($this->referer());


17 апреля 2012 г. 14:58 пользователь Dmitriy Tkach
 написал:
> Можно ли сделать так, чтобы при отправке формы пользователь не переходил на
> другой адрес, а оставался на той же странице ? Например: есть форма
> регистрации, при сабмите которой пользователя перекидает на users/signup/.
> Как сделать так, чтобы выполнялись все действия, но пользователь оставался
> на той же странице ?
>

--



--
С уважением, Тымцуник Сергей.

--

Sergey Timtsunyk

unread,
Apr 19, 2012, 6:24:12 PM4/19/12
to cake-...@googlegroups.com
К сожалению PHP еще не владеет проверкой введенных данных без перезагрузки страницы, именно для этой цели используют ajax.
Единственный способ - это делать проверку в том же методе который рендерит даную страницу.

20 апреля 2012 г. 0:53 пользователь Dmitriy Tkach <w.mille...@gmail.com> написал:

--
Вы получили это сообщение, поскольку подписаны на группу cake-php-ru.
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msg/cake-php-ru/-/A_S6_PbLza8J.

Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу cake-...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru...@googlegroups.com.
О дополнительных функциях можно узнать в группе по адресу http://groups.google.com/group/cake-php-ru?hl=ru.

Dmitriy Tkach

unread,
Apr 20, 2012, 5:21:48 AM4/20/12
to cake-...@googlegroups.com
Ну ладно. Вы немного не поняли меня. Но выход наверное - "делать проверку в том же методе который рендерит даную страницу ".
Спасибо.

Пʼятниця, 20 квітня 2012 р. 01:24:12 UTC+3 користувач Sergey Timtsunyk написав:
К сожалению PHP еще не владеет проверкой введенных данных без перезагрузки страницы, именно для этой цели используют ajax.
Единственный способ - это делать проверку в том же методе который рендерит даную страницу.

20 апреля 2012 г. 0:53 пользователь Dmitriy Tkach написал:

Антон Великолепный

unread,
Apr 20, 2012, 6:16:00 AM4/20/12
to cake-...@googlegroups.com
Sergey Timtsunyk, опишите пожалуйста пример

20 апреля 2012 г. 13:21 пользователь Dmitriy Tkach <w.mille...@gmail.com> написал:

--
Вы получили это сообщение, поскольку подписаны на группу cake-php-ru.
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msg/cake-php-ru/-/PuPsWj-r-gQJ.

Dmitriy Tkach

unread,
Apr 20, 2012, 6:38:16 AM4/20/12
to cake-...@googlegroups.com
http://nuts-and-bolts-of-cakephp.com/2009/01/19/jquery-in-the-cakephp-world-part-1/ 
http://nuts-and-bolts-of-cakephp.com/2009/01/21/jquery-in-the-cakephp-world-part-2-is-client-side-code-all-that-great/ 

Пʼятниця, 20 квітня 2012 р. 13:16:00 UTC+3 користувач Капслок написав:
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru+unsubscribe@googlegroups.com.

Андрей Филиппов

unread,
Apr 20, 2012, 7:15:29 AM4/20/12
to cake-...@googlegroups.com
Можете посмотреть как сделано у меня при помощи js  http://zsit.ru/  все очень просто и ничего уже придумывать не надо. Надо такое решение?

20 апреля 2012 г. 16:38 пользователь Dmitriy Tkach <w.mille...@gmail.com> написал:
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msg/cake-php-ru/-/eody2VOENqgJ.

Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу cake-...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru...@googlegroups.com.

Антон Великолепный

unread,
Apr 20, 2012, 7:21:10 AM4/20/12
to cake-...@googlegroups.com
Из Js я вижу тока jquery и плагины к ней. А реализация обмена через ajax как выглядит?

20 апреля 2012 г. 15:15 пользователь Андрей Филиппов <pec...@gmail.com> написал:

Sergey Timtsunyk

unread,
Apr 20, 2012, 7:21:12 AM4/20/12
to cake-...@googlegroups.com
js скрипт для отправки формы
    $('.submitForm').click(function(e){
        e.preventDefault();   
                         
        $.post('/messages/ajaxSend', $('#MessageAjaxSendForm').serialize(), function(data) {
            $('#formShow).html(data);
        });
    });
    
    В контроллере messages добавляем компоненту:
    public $components = array('RequestHandler');
    
    В методе ajaxSend выполняем все необходимые действия и рендерим вюху, которая и будет возвращатся нашему post запросу.

пятница, 20 апреля 2012 г., 13:16:00 UTC+3 пользователь Капслок написал:
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru+unsubscribe@googlegroups.com.

Антон Великолепный

unread,
Apr 20, 2012, 7:23:17 AM4/20/12
to cake-...@googlegroups.com
Спасибо, А js код пишете от руки или он генерируется с помощью JSHelper'a ???

20 апреля 2012 г. 15:21 пользователь Sergey Timtsunyk <serji...@gmail.com> написал:
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msg/cake-php-ru/-/6gzeys2A51IJ.

Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу cake-...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу cake-php-ru...@googlegroups.com.

Андрей Филиппов

unread,
Apr 20, 2012, 7:36:39 AM4/20/12
to cake-...@googlegroups.com
С java не ладиться у меня, поэтому пользуюсь готовыми решениями http://www.no-margin-for-errors.com/projects/prettypopin/ 
Генерирую через AJAX helper, взял тут  http://www.cakephp.4uk.pl/ 



20 апреля 2012 г. 17:23 пользователь Антон Великолепный <svn...@gmail.com> написал:

Sergey Timtsunyk

unread,
Apr 20, 2012, 7:46:13 AM4/20/12
to cake-...@googlegroups.com
В основном пишу вручную.

20 апреля 2012 г. 14:23 пользователь Антон Великолепный <svn...@gmail.com> написал:

Sergey Timtsunyk

unread,
Apr 20, 2012, 7:48:12 AM4/20/12
to cake-...@googlegroups.com
Спасибо за ссылку(http://www.cakephp.4uk.pl/), очень интересно , обязательно попробую использовать. 

20 апреля 2012 г. 14:36 пользователь Андрей Филиппов <pec...@gmail.com> написал:
Reply all
Reply to author
Forward
0 new messages