Произошла ошибка «валидатор не определен» при редактировании выпадающего списка с помощью jEditable - PullRequest
1 голос
/ 12 декабря 2011

Я использую jeditable для встроенного редактирования моей таблицы. В моей таблице я могу редактировать текст, указатель даты, а также выпадающий список.

Однако, когда я редактирую выпадающий список, я получаю ошибку в firebug:

validator is undefined
[Break On This Error] validator.settings[eventType] && v...ype].call(validator, this[0], event); 

Произошла ошибка в jquery.validate.js или jquery.js

Однако я не вызывал никакой метод проверки при редактировании раскрывающегося списка.

Ниже приведен код, который объявляет jeditable для выпадающего списка:

  // Drop down
    $('.dropdown').editable('@(Url.Action("Edit", "Stock"))',
    {
        data: getFoodTypesList(),
        type: 'select',
        indicator: 'saving...',
        event: 'dblclick',
        //tooltip: 'Double click to edit...',
        style: 'inherit',
        width: '240px',
        submit: '<img src="@Url.Content("~/Content/Add_in_Images/ok.png")" alt="ok"/>',
        cancel: '<img src="@Url.Content("~/Content/Add_in_Images/cancel.png")" alt="cancel"/>',
        // Use callback function to assign display text for the field after edit
        callback: function (value, settings) {
            var temp = getFoodTypeName(value);
            $(this).text(temp);
            $.ajax({
                async: false,
                url: '@(Url.Action("GetStockTable", "Stock"))',
                type: 'GET',
                success: function (result) {
                    $('#tableplaceholder').html(result);
                    unitDropDown();
                }
            });
        }

    });

Ошибка возникает каждый раз, когда я нажимаю на выпадающий список, чтобы выбрать опцию. Есть идеи, в чем причина? Или я в любом случае могу "пройти" как-то автоматическую проверку выпадающего списка?

Пожалуйста, помогите ... большое спасибо ...

EDIT:

Ошибка, отображаемая в IE Developer Tool, отличается:

 'settings' is null or not an object

И это указывает на эту строку:

 // Datepicker
    $('.storagedatepicker').editable('/Stock/Edit',
    {
        type: 'datepicker',
        indicator: 'saving...',

, которое является jeditable для поля datepicker ... Я не могу понять, почему это связано ...

Ответы [ 2 ]

4 голосов
/ 21 декабря 2011

Эта ошибка возникает, когда мы помещаем элемент управления jEditable в другую форму с включенной проверкой jquery. Причина этого в том, что jEditable сам создает форму, и в результате вы получаете одну форму внутри другой.

Чтобы отключить проверку элементов дочерней формы, я добавил следующую строку кода в файл сценария "jquery.jeditable.js" сразу после строки

var form = $('<form />');

>

 form.validate({
                  ignore: ":input"
              });
1 голос
/ 13 декабря 2011

Ошибка исчезла, когда я удалил

@using BeginForm

с моего стола ...

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

Любые комментарии и отзывы по-прежнему приветствуются и приветствуются. Спасибо ....

...