Создание плагина jQuery - PullRequest
       11

Создание плагина jQuery

0 голосов
/ 25 января 2011

Я создаю простой плагин для проверок, после настройки некоторых параметров для редактирования и после циклического повторения всех полей, которые я написал:

$(this).submit(function () {

, где «this» - главный элемент (form).

Теперь мне было интересно использовать этот плагин также в asp.net, так что без использования HTML-формы, где есть только некоторые входные данные в div и по нажатию на определенную кнопку егоначать ...

Итак, я знаю, что здесь я должен изменить отправку ... и пытаться связать ее по нажатию кнопки ... Я не знаю, как решить эту проблему ...

Может кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 25 января 2011

вы должны взглянуть на то, что я делал здесь . Мой плагин перехватывает пост в форме для отправки данных между доменами на мой сервер вместо хост-сервера Общий метод может быть использован для вашей проверки.

вот быстрый и грязный пример моего кода.

$.fn.myplugin= function (options) {

    var settings = {
        setting1: undefined,
        setting2: undefined,
        setting3: undefined,

        beforeSubmit: function () { return true; },
        afterSubmit: function () { },
        approve: function () { },
        decline: function () { },
        error: function () { },
        exception: function (xhr, status, error) { }
    };

    // If options exist, lets merge them
    // with our default settings
    if (options) {
        $.extend(settings, options);
    }

    //ensure this is attached only to a FORM element
    if (!$(this).is("form"))
        throw ('Specified object is not a valid form.  This plugin can only be attached to a form element.');

    $(this).live("submit", function (event) {
        var result = true;

        //NEVER EVER EVER allow the form to submit to the server
        event.preventDefault();

        if (settings.beforeSubmit)
            result = settings.beforeSubmit();

        if (result != null && !result)
            return false;

        //do stuff

    }); //end live submit

}; 

Тогда использование выглядит так

$('#form-id').myplugin({
    setting1: 'value',
    setting2: 'value',
    setting3: 'value'
});
0 голосов
/ 25 января 2011

Вам нужна помощь, чтобы связать событие клика? Для этого ты пишешь

$('#buttonID').click(function(e)
{
   // do some logic

   e.preventDefault(); // make sure that ie. a href is not followed
});
...