функция вызова кнопок при вводе - PullRequest
1 голос
/ 19 сентября 2011

Я пытаюсь отправить диалоговую форму, когда пользователь нажимает ввод.У меня была настройка формы, как показано ниже:

$("#band-dialog-form").dialog({
        buttons : {
            "Save" : function(){
                        $(this).dialog("close");
            $("#editBandForm").submit();
                            },
            Cancel : function() {
                $(this).dialog("close");
            }
        },
        close : function() {

        }
    });

Когда я добавил ключевой слушатель, я изменился на:

                "Save" : function submitBand(){
                            $(this).dialog("close");
                $("#editBandForm").submit();
                                },

Но мой ключевой слушатель не может найти функцию submitBand.Если я попытаюсь вытащить функцию из диалогового окна и сделать это:

"Save" : submitBand(),

Функция submitBand вызывается при инициализации, и страница отправляется без вмешательства пользователя.Как лучше использовать именованные функции в объекте кнопок?

Ответы [ 2 ]

3 голосов
/ 19 сентября 2011

Вы присваиваете результат выполнения submitBand клавише «Сохранить», так как скобки, следующие за submitBand (или конструкцией «вызова функции»), означают «выполнить этот объект функции и вернуть результат». Попробуйте передать объект функции без конструкцию вызова функции:

"Save" : submitBand,
0 голосов
/ 19 сентября 2011

Вы должны сделать:

var  submitBand = function(){
           $("#band-dialog-form").dialog("close");
           $("#editBandForm").submit();
      };

и затем передать ссылку на функцию кнопке:

$("#band-dialog-form").dialog({
        buttons : {
            "Save" :submitBand ,
            "Cancel" : function() {
                $(this).dialog("close");
            }
        },
        close : function() {

        }
    });
...