我将创建一个按钮来执行操作并将数据保存到数据库中.
一旦用户点击按钮,我想要一个JavaScript提醒,提供"是"和"取消"选项.如果用户选择"是",则数据将被插入数据库,否则将不执行任何操作.
如何显示这样的对话框?
我尝试使用JQuery UI Dialog来替换丑陋的javascript:alert()盒子.在我的场景中,我有一个项目列表,并且在每个项目的旁边,我会为每个项目都有一个"删除"按钮.psuedo html设置将是以下内容:
<ul>
<li>ITEM <a href="url/to/remove"> <span>$itemId</span>
<li>ITEM <a href="url/to/remove"><span>$itemId</span>
<li>ITEM <a href="url/to/remove"><span>$itemId</span>
</ul>
<div id="confirmDialog">Are you sure?</div>
Run Code Online (Sandbox Code Playgroud)
在JQ部分,在文档准备好的时候,我首先将div设置为带有必要按钮的模态对话框,然后将那些"a"设置为在删除前触发确认,如:
$("ul li a").click(function() {
// Show the dialog
return false; // to prevent the browser actually following the links!
}
Run Code Online (Sandbox Code Playgroud)
好的,这是问题所在.在初始化时,对话框将不知道谁(项目)将启动它,以及项目ID(!).如何设置这些确认按钮的行为,如果用户仍然选择YES,它将按照链接删除它?
有没有办法在JavaScript中更改警报或提示的外观 ?添加图像,更改字体颜色或大小等内容会让它看起来与众不同.
假设我有一条警告消息:
alert("Message");Run Code Online (Sandbox Code Playgroud)
执行此命令时,会弹出一个警告框,但消息对齐到警告框的左侧.
有没有办法将此消息集中在警报框中?
我需要在某些情况下通知用户,并且已经看到不应该使用confirm()和alert().相反,很多问题都提到在jQuery UI中使用模态事物,特别是如果你需要设计样式.这一切都很好,花花公子,但是,在一天结束时,编码员说你应该远离它的原因是什么?
这是一个很好的例子,说明人们的感受,但几乎任何其他问题都与警报框的样式有关.它只是一个造型问题还是有更多根本原因回避这种内置功能?
更重要的是,没有一个答案谈论你应该使用什么.jQuery UI和类似的预建解决方案是唯一的答案吗?为什么?性能或安全性或缺乏经验的程序员是否需要易于使用的东西或......?
编辑:
好的,让我澄清一下.我问的原因是因为警报功能是为了防止用户意外删除他们一直在做的工作,因为有三种方法可以在这个页面上启动新计划,并且每个方法都会删除现有的内部html.显示计划的div.
大多数我的耳朵的是,这是不好的用户和用户界面,但是,如果愤怒诱导,吸引注意力的是我想要的,我应该怎么用呢?有人提到警报/确认会暂停JavaScript执行,并可能阻止您使用其他选项卡.这更接近我期待的功能问题.我知道这对UI来说很糟糕,但我在这里寻找更多技术原因.
- 更新 - 我已经阅读了很多关于这个主题的尝试了一些脚本,并需要帮助来找出你能做什么或不能做什么.社区回答了这一切,以下是一个很好的起点.(这里的答案摘自社区,谢谢)
你不能超越默认的警告风格.它由您的客户生产(例如chrome firefox等)
你可以使用jquery代替.而不是使用如下脚本:
function check_domain_input(){var domain_val = document.getElementsByName('domain'); if(domain_val [0] .value.length> 0){return true; 警报('请输入要搜索的域名.'); 返回false; }
这使得客户端(firefox chrome等)产生一个警告框.
2B.你告诉代码是否需要在事件加载jquery alertbox上发生一些事情,你可以做得很漂亮:(由Jonathan Payne回答并由Jonathan Payne创建.谢谢你)
<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.21/themes/base/jquery-ui.css" type="text/css" media="all" />
<div onclick="check_domain_input()">Click</div>
<div id="dialog" title="Attention!" style="display:none">
Please enter a domain name to search for.
</div>
<script>
function check_domain_input()
{
$( "#dialog" ).dialog(); // Shows the new alert box.
var domain_val = document.getElementsByName('domain');
if (domain_val[0].value.length > 0)
{
return true;
}
$( "#dialog" ).dialog();
return false;
}
</script>
Run Code Online (Sandbox Code Playgroud)
在这里查看jsFiddle: …
我刚刚在我的网络服务器上设置一个受密码保护的目录(以便存储备份的热拷贝等)并且想知道是否有任何方式我可以设置用户尝试时出现的密码提示的样式访问此页面.

在现在,没有人会注意到我的小笔记,这让我感到难过.

它似乎与标准的.js警告类似,但是我一直无法找到一种方法来指定我可以改变的任何css类,因为"警报"框没有出现在devtools中,只是页面bahind它:

任何建议/提示将不胜感激.
javascript ×5
alert ×4
css ×3
jquery ×3
dialog ×2
.htaccess ×1
html ×1
jquery-ui ×1
modal-dialog ×1
prompt ×1