используя facebox для отправки формы - PullRequest
0 голосов
/ 20 мая 2011

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

В настоящее время у меня есть многоступенчатая форма, и я хочу сделать следующее:

  • пользователь на шаге 1 нажимает «отправить» (форма отправляется)
  • fancybox запускает отображениеФорма регистрации и кнопки «Зарегистрироваться» или «Пропустить»
  • не имеет значения, если на кнопке «флажок» или «Пропустить» была нажата кнопка, пользователь переходит к шагу 2 для моего приложения.

Я искал launching fancybox on form submit и submitting form via fancybox

В демоверсии я ничего не нашел.

Прежде чем перейти к fancybox, кто-нибудь выполнял этот рабочий процесс с помощью плагина fancybox?

Я прочитал ТАК вопросы для пользователей, имеющих проблемы с отправкой форм.Есть ли лучший плагин для рабочего процесса, о котором я говорил?

1 Ответ

0 голосов
/ 23 мая 2011

Я сделал реализацию, аналогичную fancybox.У меня была проверка пользователя, что при нажатии кнопки «Оформить заказ» появится окно с вопросом.Прежде чем показывать подсказку, он отправит форму.Это набросок кода, который я использовал:

Я изменяю кнопку отправки формы на ссылку:

<a id='various2' href='#submitform'>Submit</a>

Привязываем fancybox к ссылке и добавляем незавершенный для обработки формы каккак только откроется fancybox:

$(document).ready(function() {


            $("#various2").fancybox({
                'cache' : false,
                'hideOnOverlayClick' : false,
                'showCloseButton'   : false,
                'autoDimensions'    : false,
                'width'             : 650,
                'titlePosition'     : 'inside',
                'transitionIn'      : 'fade',
                'transitionOut'     : 'fade',
                'scrolling'         : 'no',

                'onComplete'            : function(){
                    processform();
                }
            });
});

Имейте функцию javascript для обработки формы с использованием ajax, а затем отобразите свой логин / информацию о создании учетной записи.Если бы это был я, я бы сделал еще один вызов ajax, чтобы отобразить ваш логин / регистрацию, но я оставил эту часть кода, но обозначил ее комментарием, где вы можете его вызвать:

function processform(){
        var idcardnumber1 = jQuery("#field1").val();
        var idcardnumber2 = jQuery("#field2").val();
        $.ajax({
            cache : false, 
           type: "POST",
           url: "processform.php",
           data: "field1="+field1+"&field2="+field2,
            dataType: "json",
           success: function(data){
            if(data.valid == 1){
             // Display Your Login Signup Form
            }
            else{
                // Close Fancybox since the form did not submit

                $.fancybox.close();
            }


           }
         });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...