Откройте Fancybox (или equiv) от входного типа Формы = “отправляют”

Не самое короткое, и очень после совершения, но я не мог сдержать предоставление его попытка в MATLAB:

R=@(s)all(s==fliplr(s));

24 символа.

16
задан nickmorss 9 June 2009 в 11:35
поделиться

6 ответов

Я считаю, что все остальные ответы упускают из виду суть вопроса (если только я не являюсь единственным недоразумением). Я думаю, что автор хотел, чтобы при отправке формы ее результаты отображались в fancybox. Я не обнаружил, что какие-либо другие ответы обеспечивали эту функциональность.

Для этого я использовал плагин jQuery Form ( http://malsup.com/jquery/form/ ), чтобы легко преобразовать форму в вызов ajax. Затем я использовал обратный вызов успеха, чтобы загрузить ответ в fancybox, используя ручной вызов $ .fancybox ().

$(document).ready(function() {
    $("#myForm").ajaxForm({
        success: function(responseText){
            $.fancybox({
                'content' : responseText
            });
        }
    }); 
});

Итак, вместо того, чтобы прикреплять fancybox к некоему искусственному тегу , вы прикрепляете ajaxForm к самой форме.

45
ответ дан 30 November 2019 в 15:12
поделиться

ПОПРОБУЙТЕ ЭТО

$(document).ready(function() {
  $("#link").fancybox();
  $("#btn").click(function(){
    $("#link").trigger('click');
  });
});

<input type="button" id="btn" value="Button" />
<div style="display:none;"> 
 <a href="#test" id="link">Click</a>
</div>

<div id="test" style="display:none;">fancy box content</div>

при нажатии кнопки вы запускаете щелчок по скрытому href.

надеюсь, что это поможет

8
ответ дан 30 November 2019 в 15:12
поделиться

Лучше использовать html на лету, например

$("#buttontoclick").click(function() {
    $('<a href="path/to/whatever">Friendly description</a>').fancybox({
        overlayShow: true
    }).click();
});
9
ответ дан 30 November 2019 в 15:12
поделиться

Вы можете выполнить ajax-отправку данных формы, сохранить данные в сеансе и затем активировать щелчок по ссылке.

0
ответ дан 30 November 2019 в 15:12
поделиться

Я просто должен был это сделать. Вот как я это сделал.

$('#elementid').fancybox({
   onStart : function() {
      $.post($(this).attr('href'), $('#formid').serialize());
   }
});

Таким образом, вы можете отправить форму и вызвать fancybox одним выстрелом. Форма отправляется в стиле ajax. Кнопка "submit" должна быть в теге .

Надеюсь, это поможет.

-2
ответ дан 30 November 2019 в 15:12
поделиться

Fancybox может работать с ajax-запросами напрямую, без использования дополнительных скриптов jQuery.

$("#login_form").bind("submit", function() {

    $.ajax({
        type        : "POST",
        cache       : false,
        url         : "/login.php",
        data        : $(this).serializeArray(),
        success: function(data) {
            $.fancybox(data);
        }
    });

    return false;
});

<form action="/login.php" method="POST" id="login_form">
<input type="input" size="20" name="username" />
<input type="submit" value="Login" />
</form>
6
ответ дан 30 November 2019 в 15:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: