asp.net – jQuery UI对话验证
发布时间:2020-05-25 18:48:43 所属栏目:asp.Net 来源:互联网
导读:单击“保存”时,我无法使用 Jquery Validate验证jQuery UI对话框. 这是我创建Jquery对话框的代码.它从目标href URL加载对话框: $(document).ready(dialogForms);function dialogForms() { $(a.dialog-form).click(function() { var a = $(this);
|
单击“保存”时,我无法使用 Jquery Validate验证jQuery UI对话框. 这是我创建Jquery对话框的代码.它从目标href URL加载对话框: $(document).ready(dialogForms);
function dialogForms() {
$('a.dialog-form').click(function() {
var a = $(this);
$.get(a.attr('href'),function(resp){
var dialog = $('<div>').attr('id','formDialog').html($(resp).find('form:first').parent('div').html());
$('body').append(dialog);
dialog.find(':submit').hide();
dialog.find('#return').hide();
dialog.dialog({
title: a.attr('title') ? a.attr('title') : '',modal: true,buttons: {
'Save': function() {submitFormWithAjax($(this).find('form'));},'Cancel': function() {$(this).dialog('close');}
},close: function() {$(this).remove();},width: 'auto'
});
},'html');
return false;
});
}
function submitFormWithAjax(form) {
form = $(form);
$.ajax({
beforeSend: function(data) {
//alert("beforesend");
form.validate();
},url: form.attr('action'),data: form.serialize(),type: (form.attr('method')),dataType: 'text',error: function(data) {
alert(data);
$('#result').html(data);
},success: function(data) {
//alert("success");
$('#result').html(data);
setTimeout("reloadPage()",500);
}
});
return false;
}
调用beforeSend,但它似乎不调用validate方法,该方法位于调用Dialog的父页面上. $(document).ready(function() {
$("#event_form").validate({
rules: {
Name: {
required: true
},Category: {
required: true
}
},messages: {
Name: "Please enter an event name",Category: "Please choose a category"
},submitHandler: function(form) {
alert("validated");
// $('#loading_1').show();
// $('#proceed_c').hide();
// $(form).ajaxSubmit();
// //form.submit();
},errorPlacement: function(error,element) {
error.appendTo(element.next(".status"));
}
});
}
问题是在commitFormWithAjax函数中的beforeSend,$(“#event_form”).validate或者submitHandler:function(form)的位置吗?任何帮助将不胜感激. 解决方法初始化jQueryUI对话框时,它会修改DOM,整个对话框从页面中的位置取出并插入< / body>之前.标签.你可以用Firebug看到这个.这会导致Validate出现问题,因为现在表单为空.要解决此问题,请在对话框的open事件中将其附加到表单.这听起来很古怪,但相信我,它的工作:)dialog.dialog({
title: a.attr('title') ? a.attr('title') : '',buttons: {
'Save': function() {submitFormWithAjax($(this).find('form'));},'Cancel': function() {$(this).dialog('close');}
},open: function(){
$(this).parent().appendTo($('#event_form'));
},width: 'auto'
});
编辑: <form id='event_form'> <div id="dialog" title="DialogTitle"> </div> </form> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – SignalR:如何强制认证/终止中心连接服务器端
- 是否可以优化ASP.NET WebForms以便像ASP.NET MVC一样快速执
- asp.net-mvc – asp.mvc视图在发布配置中引用#IF DEBUG
- asp.net-mvc – 使用令牌认证访问Web Api的MVC .NET cookie
- 我可以首先使用EF代码和.net核心生成迁移脚本
- asp.net-mvc-5 – OWIN是否调用MVC(ASP.NET MVC)?
- asp.net – 通过文本查找DropDownList索引
- 执行迁移EF core 2.0时出错,将Identity id从string更改为in
- ASP.NET MVC 2 – ViewModel前缀
- 使用asp.net mvc进行基于REST的端点
推荐文章
站长推荐
- 在ASP.NET RadioButtonList ListItem上设置CSS类
- asp.net – aspnet的最大值:MaxHttpCollectionK
- 如何在ASP.NET中的dropdownlist控件中处理长文本
- asp.net – 当使用AngularJS,WebAPI 2和Oauth 2时
- asp.net-mvc-3 – ASP.NET MVC 3,Razor Views和便
- asp.net – 如何在没有往返的情况下更新实体? (
- 在ASP.NET MVC网站中无法获取详细的错误信息
- asp.net-mvc – 如何使用编辑器内部的foreach
- asp.net – 在IIS7上为WordPress重写URL
- asp.net-mvc – 将一个属性与另一个属性进行比较
热点阅读
