Как указал @blaz в комментариях выше, похоже, что ошибка связана с опечаткой в вызове метода $set
, поскольку свойство должно быть множественным числом comments
, а не comment
Если кто-то еще наткнется на это, диалог jQuery-UI не добавляется к форме, он добавляется непосредственно перед телом>
, поэтому элементы для проверки находятся за пределами раздела <формы>формы>
:
Чтобы разрешить это, просто направьте диалог на перемещение внутри формы, когда вы создаете его, например так:
$("#mydiv").dialog("open").parent().appendTo(jQuery("form:first"));
Попытайтесь дать свою форму, я хотел бы "myform".
Затем попытайтесь добавить этот вызов к onclick событию Вашей clicktest привязки:
onclick ='return ($ (" #myform") .validate () .form ())';
вместо того, чтобы делать проверку в document.ready.
Вы попытались перенестись, форма вокруг Вашего отделения вместо этого (согласно тегам form спецификации W3C не позволяются быть внутренними отделениями),
Не переписывая плагин я не вижу легкое почему из выполнения этого без элемента формы.
Я решил пойти с этим плагином проверки jQuery и записать мой собственный плагин вокруг существующего кода.
Вы можете использовать плагин jquery valitidy
Для javascript
function validateForm(){
$.validity.start();
// Required:
$("#recipientFirstName").require();
var result = $.validity.end();
return result.valid;
}
$(document).ready(function() {
$('#dialog').dialog({
autoOpen: false,
title: 'My title',
width: 600,
modal: true,
buttons: {
"Ok": function() {
if(validateForm()) {
saveOrder();
$(".validity-tooltip").css("display", "none");
$(this).dialog("close");
}
},
"Cancel": function() {
// The following line was added to
// hide the tool-tips programmatically:
$(".validity-tooltip").css("display", "none");
$(this).dialog("close");
}
}
});
})