Может ли fancybox открывать несколько экземпляров класса формы - PullRequest
1 голос
/ 03 марта 2011
 <a href=".login_form" class="the_form">click to Contact</a>


$(".the_form").fancybox({
        'scrolling'     : 'no',
        'overlayOpacity': 0.1,
        'showCloseButton'   : false,
        'onClosed'      : function() {
            $("#login_error").hide();
        }
    });






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

    if ($(this).find(".name").val().length < 1 || $(this).find(".email").val().length < 1 || $(this).find(".msg").val().length < 1)  {
        $(this).find(".login_error").show();
        $.fancybox.resize();
        return false;
    }
});

У меня есть форма, которая зацикливается и создает много ее экземпляров. То, что я хочу сделать, по этой ссылке, щелкнуть, чтобы открыть конкретный экземпляр формы. Я знаю, что могу добиться этого, создав уникальные идентификаторы для каждой формы, однако мне интересно, есть ли более простой способ. Этот код отлично выглядит в теории, но fancybox не будет работать только с ".login_form", "#login_form", который является конкретным экземпляром.

Ответы [ 2 ]

0 голосов
/ 03 марта 2011

Также, если я вас правильно понял, вы можете использовать несколько селекторов, как это

$('#id1, #id2, #id3').fancybox({
    'scrolling'     : 'no',
    'overlayOpacity': 0.1,
    'showCloseButton'   : false,
    'onClosed'      : function() {
        $(this).find(".login_error").hide();
    }
});
0 голосов
/ 03 марта 2011

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

Однако, может быть, вы могли бы перебрать каждый элемент и привязать к нему причудливый блок? Таким образом, на каждой итерации вы могли бы ссылаться на направление формы в объявлении вашего необычного окна?

$(".the_form").each(function(){

    $(this).fancybox({
        'content': $(this).find("someChildOfTheForm"),
        'scrolling'     : 'no',
        'overlayOpacity': 0.1,
        'showCloseButton'   : false,
        'onClosed'      : function() {
            $(this).find(".login_error").hide();
        }
    });

});

Пример на jsfiddle , чтобы описать, о чем я говорю ...

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