Javascript 更好地替代ShowModalDialogue
目前在我的网站上,我正在显示ShowModalDialogue以显示警告。最近,我被要求修改以下行为: 早期行为: 我过去只会显示一条警告信息。用户可以单击对话框的“确定”或“关闭”按钮继续 新行为: 我被要求在同一个ShowModalDialogue中插入一个文本框。现在,用户必须在单击“确定”按钮之前插入其姓名首字母。现在他也不能通过点击关闭按钮来关闭对话。如果他试图在文本框为空时单击关闭按钮或确定按钮关闭对话框,则必须打开同一弹出窗口并发出警告。但问题是,关闭警告消息对话框后,屏幕上的对话框会随机移动,即使其属性已被修改,不会移动 现在我被要求用更好的东西来代替这个ShowModalDialogue。 我有两个建议:1。cssdivpopup2。Ajax控件ModalPopup。 哪一个更好? 还有什么我可以用的东西吗 我主要关心的是好看和容易处理Javascript 更好地替代ShowModalDialogue,javascript,jquery,html,css,ajaxcontroltoolkit,Javascript,Jquery,Html,Css,Ajaxcontroltoolkit,目前在我的网站上,我正在显示ShowModalDialogue以显示警告。最近,我被要求修改以下行为: 早期行为: 我过去只会显示一条警告信息。用户可以单击对话框的“确定”或“关闭”按钮继续 新行为: 我被要求在同一个ShowModalDialogue中插入一个文本框。现在,用户必须在单击“确定”按钮之前插入其姓名首字母。现在他也不能通过点击关闭按钮来关闭对话。如果他试图在文本框为空时单击关闭按钮或确定按钮关闭对话框,则必须打开同一弹出窗口并发出警告。但问题是,关闭警告消息对话框后,屏幕上的对话
提前谢谢。想试试qTip2吗?这个给你很多选择
您只需使用jqueryui
$( "#dialog-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Create an account": function() {
bValid = $("#d-form").valid();
if (bValid ){
$( "#users tbody" ).append( "<tr>" +
"<td>" + $( "#name" ).val() + "</td>" +
"<td>" + $( "#email" ).val() + "</td>" +
"<td>" + $( "#password" ).val() + "</td>" +
"</tr>" );
$( this ).dialog( "close" );
}
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$(“#对话框窗体”).dialog({
自动打开:错误,
身高:300,
宽度:350,
莫代尔:是的,
按钮:{
“创建帐户”:函数(){
bValid=$(“#d-form”).valid();
if(bValid){
$(“#users tbody”).append(”+
“+$(“#名称”).val()+”+
“+$(“#电子邮件”).val()+”+
“”+$(“#密码”).val()+“”+
"" );
$(此).dialog(“关闭”);
}
},
取消:函数(){
$(此).dialog(“关闭”);
}
},
关闭:函数(){
allFields.val(“”.removeClass(“ui状态错误”);
}
});
我更喜欢jQuery UI对话框作为基础(我应用插件,“修复”以jQuery UI为中心的DOM并继续前进)——虽然我不喜欢默认情况,但它提供的基础只适用于选项卡控制和内容大小调整等方面,可以从外部充分攻击(修改)以保持灵活性。(我使用DurandalJS通过“show modal view”支持实际承载对话框内容,这避免了将标记插入JavaScript中。)感谢您的回复,这听起来不错。不幸的是,我的网站是一个商业网站。因此,除了jquery源代码或AJAXControlToolkit之外,我不能使用任何第三方插件。你能推荐点别的吗?谢谢。但是它的行为会不会像用户不能用窗口的“关闭”按钮或空文本框关闭它一样?在“关闭”功能中,如果验证失败,您可以进行验证并添加retrun语句。有什么意义吗?是的。我想我也必须在Cancel函数中添加相同的代码,对吗?