使用jQuery/JavaScript创建确认消息的最简单方法?
我怎样才能做到这一点使用jQuery/JavaScript创建确认消息的最简单方法?,javascript,jquery,Javascript,Jquery,我怎样才能做到这一点 用户单击删除链接(带有“确认”类) 出现确认消息,询问“您确定吗?”以及“是”和“取消”选项 如果选择“是”,则链接将在单击时继续,但如果选择“取消”,则操作将被取消 更新:最终工作代码与确认()感谢: Javascript提供了一个内置的确认对话框 if (confirm("Are you sure?")) { // continue with delete } 我已经成功地在Jquery中实现了确认框。在尝试此操作之前,请确保代码中包含Jquery库和css(
确认()
感谢:
Javascript提供了一个内置的确认对话框
if (confirm("Are you sure?"))
{
// continue with delete
}
我已经成功地在Jquery中实现了确认框。在尝试此操作之前,请确保代码中包含Jquery库和css(Jquery-ui-1.8.16.custom.css、Jquery-1.6.2.js、Jquery-ui-1.8.16.custom.min.js)。 JAVASCRIPT确认框和我们使用DIV创建的这个框之间的主要区别在于-JAVASCRIPT确认将等待用户输入,在用户输入YES/NO之后,下一行将执行,这里您必须在YES或NO块中执行此操作--**showConfirm()之后的下一行代码将立即执行*,因此请小心
/** add this div to your html
*/
var$confirm;
var回调;
var-iconStyle='';
var messageStyleStart='';
var messageStyleEnd='';
$(文档).ready(函数(){
$('confirmDialog')。对话框({
自动打开:错误,
莫代尔:对
});
//jquery确认框——通用警报框
$confirm=$('')
.html('将替换此邮件!')
.对话({
自动打开:错误,
莫代尔:是的,
位置:'顶部',
身高:300,
宽度:460,
莫代尔:是的,
按钮:{
好的:函数(){
$(此).dialog(“关闭”);
if(null!=回调)
callBack.success();
},
取消:函数(){
$(此).dialog(“关闭”);
if(null!=回调)
callBack.fail();
}
}
});
});
函数showConfirm(消息、回调、标题){
callBack=null;
$confirm.html(“”;//解决方法
$confirm.html(iconStyle+messageStyleStart+message+messageStyleEnd);
if(title='undefined'| | null==title)
$confirm.dialog(“选项”、“标题”、“请确认”);
其他的
$confirm.dialog(“选项”、“标题”、“标题”);
var val=$confirm.dialog('open');
callBack=callBackMe;
//阻止默认操作
返回true;
}
//现在开始调用函数
//创建一个Javascript/jSOn回调对象
var callMeBack={
成功:函数()
{//在这里调用yes函数
单击Yes();
返回;
},
失败:函数(){
//在此处调用“否”函数
单击否();
返回;
}
};
showConfirm(“是否要退出?
”+
,callMeBack1,“请回答”);
根据我的经验,这是确认的最好、最简单的方法
函数myconfirm()
{
如果(确认('您确定…'))
返回true;
返回false;
}
将为您提供“确定”和“取消”选项。@Robert:是的,但OP需要“最简单的方法”。很接近。这是最简单的选择,但请记住,根本不可能设置对话框的样式。我对jquery不太熟悉,但看起来Robert已经链接到了一个带有样式选项的jquery插件。谢谢,但您能否提供代码来禁用单击,以便在单击“取消”后不再继续?@Andrew:
confirm()
返回与所选按钮匹配的布尔值。只要在if语句中放入您想要确认的内容,并且在用户单击cancel时不会执行。是否将其放入$(document).ready(){}?是的,它在我的document ready中。更简单的方法是使用confirm函数的返回值:onclick=“return confirm('you sure?')”
/** add this div to your html
var $confirm;
var callBack;
var iconStyle = '<span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 50px 0;"></span>';
var messageStyleStart = '<span align="center" style="font-family:arial, verdana, sans-serif;font-size:9.3pt;">';
var messageStyleEnd = '</span>';
$(document).ready(function(){
$('#confirmDialog').dialog({
autoOpen: false,
modal: true
});
//jquery confirm box -- the general alert box
$confirm = $('<div style="vertical-align:middle;"></div>')
.html('This Message will be replaced!')
.dialog({
autoOpen: false,
modal: true,
position: 'top',
height:300,
width: 460,
modal: true,
buttons: {
Ok : function() {
$( this ).dialog( "close" );
if(null != callBack)
callBack.success();
},
Cancel: function() {
$( this ).dialog( "close" );
if(null != callBack)
callBack.fail();
}
}
});
});
function showConfirm(message,callBackMe,title){
callBack = null;
$confirm.html(""); // work around
$confirm.html(iconStyle + messageStyleStart +message + messageStyleEnd);
if(title =='undefined'|| null ==title)
$confirm.dialog( "option", "title", "Please confirm" );
else
$confirm.dialog( "option", "title", title);
var val = $confirm.dialog('open');
callBack = callBackMe;
// prevent the default action
return true;
}
// Now for calling the function
// create a Javascript/jSOn callback object
var callMeBack = {
success: function()
{ // call your yes function here
clickedYes();
return;
},
fail: function (){
// call your 'no' function here
clickedNo();
return ;
}
};
showConfirm("Do you want to Exit ?<br/>"+
,callMeBack1,"Please Answer");
<a href="#" onclick="return myconfirm()">Confirm</a>
<script>
function myconfirm()
{
if(confirm('Are You Sure ...'))
return true;
return false;
}
</script>