Задача: создать таблицу, при нажатии на кнопку появляется модальное окно с формой, данные при заполнении которой, в последующем попадут в эту таблицу.
Пользуюсь плагинами jQuery UI и jQuery validation,
при вызове модального окна через jQuery UI не работает валидация. Пишет при проверке валидности формы "if($('#dialogForm').valid() {}" "форма undefined". Да и вообще валидация внутри формы не работает. Также не работает сброс формы "reset". по отдельности валидация и модальное окно работают хорошо, а вместе никак
вот код
$('#dialogForm').validate({
onsubmit: false,
rules: {
form_name_сlient: {
required: true,
minlength: 3
},
form_number_сlient: {
number: true,
required: true
},
form_data: {
required: true,
date: true
},
type_appeal: {
required: true,
}
},
messages: {
form_name_сlient: {
required: 'Поле обязательно для заполнения',
minlength: 'Имя не короче 3х символов'
},
form_number_сlient: {
number: 'Поле заполнено некооректно',
required: 'Поле обязательно для заполнения'
},
form_data: {
required: 'Поле обязательно для заполнения',
date: 'Поле заполнено некооректно'
},
type_appeal: {
required: 'Поле обязательно для заполнения'
}
},
});
let table = $('table')[0];
let mesh = $('#dialog_window input');
let appealDialog = $('#dialog_window').dialog({
autoOpen: false,
modal: true,
buttons: {
'Добавить': function() {
//if($('#dialogForm').valid()){ не работает
$(`<tr><td>${mesh[0].value}</td>
<td>${mesh[1].value}</td>
<td>${mesh[2].value}</td>
<td>${$("[name='type_appeal']").val()}</td>
</tr>`).appendTo(table);
//}
$('#dialogForm')[0].reset();//тоже
$(this).dialog( "close" );
},
'Удалить': function() {
$('#dialogForm')[0].reset();
$(this).dialog( "close" );
},
}
});
$('#appeal').click(function(e) {
appealDialog.dialog('open');
});