Существует ли работающий пример формы jQuery Shadowbox? - PullRequest
0 голосов
/ 12 июля 2011

У меня есть

window.onload = function()
{
    $('form').submit(function()
    {
        return false;
    });
};

Внутри функции загрузки я позже вызываю Shadowbox.open ().Конечно, я прохожу варианты.В любом случае, моя форма отправляет всю страницу и не может вернуть false.

Я искал фактический рабочий пример того, как обрабатывать отправку формы для формы, которая была передана в Shadowbox.Если бы вы могли указать мне один, это было бы удивительно.

Спасибо

1 Ответ

1 голос
/ 13 июля 2011

Что вам нужно сделать, это:

  1. использовать iframe-плеер (при загрузке shadowbox необходимо установить флажок «Внешние сайты и страницы»)
  2. предоставляет функцию обратного вызова для onFinish, чтобы быть уверенным, что iframe существует, прежде чем отправлять форму
  3. изменить целевой атрибут формы на sb-player (это имя iframe, созданного shadowbox)

Пример кода (запустит google-поиск в теневом ящике)

<script type="text/javascript">
Shadowbox.init();

$(function() 
  {
    $('form')
      .submit(function()
              {
                //reference to the form, needed in onFinish
                var me=this;

                Shadowbox.open({
                                  //we dont need to load a page
                                content: 'about:blank',
                                  //use the iframe-player
                                player:  'iframe',
                                height:  350,
                                width:   850,
                                options: {
                                          //send the form without 
                                          //triggering the submit-event
                                          //when the iframe is available
                                          onFinish:function()
                                                   {me.submit();}
                                         }
        });
        //set the iframe(the name is sb-player) as target of the form
          $(this).attr('target','sb-player');

        return false;
    });
});

</script>
<form action="http://google.de/search">
<input name="q" value="shadowbox">
<input type="submit">
</form>
...