我要做一个按钮,采取行动并将数据保存到数据库中。

一旦用户单击按钮,我希望JavaScript警报提供“是”和“取消”选项。如果用户选择“是”,数据将被插入数据库,否则将不采取任何操作。

如何显示这样的对话框?


当前回答

xdialog提供了一个简单的API xdialog.conf()。代码片段如下。更多演示可在此处找到

document.getElementById('test').addEventListener('click',test);函数测试(){xdialog.conf('确定吗?',function(){//如果选择“确定”/“是”,请在此处工作。。。console.info('Done!');}, {style:'宽度:420px;字体大小:0.8rem;',按钮:{ok:'是文本',cancel:'无文本'},oncancel:function(){console.warn('已取消!');}});}<link href=“https://cdn.jsdelivr.net/gh/xxjapp/xdialog@3/xdialog.min.css“rel=”stylesheet“/><script src=“https://cdn.jsdelivr.net/gh/xxjapp/xdialog@3/xdialog.min.js“></script><button id=“test”>测试</button>

其他回答

我目前正在开发一个web工作流,它已经有了自己的通知/对话框,我最近(比如今天)创建了一个小型的自定义(并根据项目需要定制)是/否对话框。

所有对话框都显示在模态图层上。需要用户充分注意。

我以这种方式定义选项配置。此选项用于定义按钮文本,以及单击时与每个按钮关联的值:

optionsConfig = [
   { text: 'Yes', value: true },
   { text: 'No', value: false }
]

函数的用法如下:

const answer = await notifier.showDialog('choose an option', options.config);
if (answer) {
   // 'Yes' was clicked
} else {
   // 'No' was clicked!
}

我所做的只是为每个选项创建一个异步事件处理程序,这意味着每个按钮都有一个简单的处理程序。每个处理程序都返回选项的值。处理程序被推入数组中。然后将数组传递给Promise.rece,这是showDialog方法的返回值,它将对应于值的实际值(由处理程序返回的值)。

无法提供太多代码。正如我所说,这是一个非常具体的案例,但这个想法可能对其他实现有用。大约二十行代码。

document.getElementById("button").addEventListener("click", function(e) {
   var cevap = window.confirm("Satın almak istediğinizden emin misiniz?");
   if (cevap) {
     location.href='Http://www.evdenevenakliyat.net.tr';       
   }
});

点击前询问的最简单方法如下

<a onclick="return askyesno('Delete this record?');" href="example.php?act=del&del_cs_id=<?php echo $oid; ?>">
<button class="btn btn-md btn-danger">Delete </button>
</a>

这是一个使用普通javascript的完全响应解决方案:

//单击显示对话框btn时调用函数document.getElementById(“btn show dialog”).onclick=function(){show_dialog()};var overlayme=document.getElementById(“对话框容器”);函数show_dialog(){/*显示对话框窗口的函数*/overlayme.style.display=“块”;}//如果单击确认btn,则执行函数confim()document.getElementById(“confirm”).onclick=function(){confirm()};函数确认(){/*单击确认时执行的代码*/overlayme.style.display=“无”;}//如果单击cancel btn,则执行函数cancel()document.getElementById(“cancel”).onclick=function(){cancel()};函数cancel(){/*单击取消时执行的代码*/overlayme.style.display=“无”;}.popup{宽度:80%;填充:15px;左:0;剩余利润:5%;边框:1px实心rgb(1.82,73);边界半径:10px;颜色:rgb(1.82,73);背景:白色;位置:绝对;顶部:15%;盒子阴影:5px 5px 5px#000;z指数:10001;字号:700;文本对齐:居中;}.覆盖{位置:固定;宽度:100%;顶部:0;左:0;右:0;底部:0;背景:rgba(0,0,0,.85);z指数:10000;显示:无;}@介质(最小宽度:768px){.popup{宽度:66.66666666%;剩余利润:16.4666666%;}}@介质(最小宽度:992px){.popup{宽度:80%;剩余利润:25%;}}@媒体(最小宽度:1200px){.popup{宽度:33.33333%;剩余利润:33.33333%;}}对话框btn{背景色:#44B78B;颜色:白色;字号:700;边框:1px实心#44B78B;边界半径:10px;高度:30px;宽度:30%;}对话框btn:悬停{背景色:#015249;光标:指针;}<div id=“content_1”class=“content_dialog”><p>Lorem ipsum dolor坐amet。阿利夸姆拉特(Aliquam erat volutpat)。无侵权行为,无恶意行为</p><p>阿利夸姆拉特(Aliquam erat volutpat)。无侵权行为,无恶意行为。Nullam felis tellus,tristique nec egestas in,luctus sed diam.Suspendiss potenti</p></div><button id=“btn show dialog”>确定</button><div class=“overlay”id=“dialog container”><div class=“popup”><p>这将被保存。是否继续</p><div class=“text right”><button class=“dialog btn btn cancel”id=“cancel”>取消</button><button class=“dialog btn btn primary”id=“confirm”>确定</button></div></div></div>

您可以使用JavaScript拦截onSubmit事件。

然后调用确认警报,然后获取结果。