Javascript 单击按钮仅显示toastr一次,并将错误消息分组到toastr中
我正在使用toastr jquery插件。下面是链接 我在这里面临两个问题Javascript 单击按钮仅显示toastr一次,并将错误消息分组到toastr中,javascript,jquery,notifications,toastr,Javascript,Jquery,Notifications,Toastr,我正在使用toastr jquery插件。下面是链接 我在这里面临两个问题 当前,点击按钮时显示多个通知(请参阅附图) 应为:每次单击时应显示一个通知,如果存在通知,则不显示另一个通知 将多个通知分组的方法 应为:将组名和密码合并为一个通知 代码 $(“.actions”)。在(“单击“,”.startWorkflowD“,函数()上){ //禁用启动工作流按钮 $('.startWorkflowD').attr('disabled','disabled'); var userDisplayN
$(“.actions”)。在(“单击“,”.startWorkflowD“,函数()上){
//禁用启动工作流按钮
$('.startWorkflowD').attr('disabled','disabled');
var userDisplayName=$(“#标题#用户_菜单_弹出_文本”).text().toLowerCase();
var actualUserDisplayName=$(“#name”).val().toLowerCase();
if(userDisplayName!=实际显示名称){
美元烤面包机({
优先级:“警告”,
标题:“身份验证失败”,
消息:“
”+“请输入有效名称(名字和姓氏)以启动工作流。”
});
//启用启动工作流按钮
$('.startWorkflowD').removeAttr(“禁用”);
回来
}
var password=$(“#password”);
if(password.val().length==0){
//密码为空
美元烤面包机({
优先级:“警告”,
标题:“身份验证失败”,
消息:“
”+“请输入有效密码以启动工作流。”
});
//启用启动工作流按钮
$('.startWorkflowD').removeAttr(“禁用”);
}
});
感谢您的帮助
我尝试了下面的stackoverflow答案,我的toastr没有选项中的**“preventDuplicates”:true,**
它可能会帮助一些人。
这是我做的一个示例演示
- 不允许重复
- 进度条
<input type="text" name="name" id="name" placeholder="Name" />
<br>
<input type="password" name="Password" id="Password" placeholder="Password" />
<br>
<input type="button" class="actions" value="Login" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" rel="stylesheet"
type="text/css">
<script src="https://code.jquery.com/jquery-3.4.1.min.js" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
<script>
toastr.options = {
"closeButton": true,
"debug": false,
"newestOnTop": false,
"progressBar": true,
"positionClass": "toast-top-right",
"preventDuplicates": true,
"onclick": null,
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
}
$(".actions").on("click", function () {
var name = $("#name").val();
var pwd = $("#Password").val();
var errmsg = "";
if (name == "") {
errmsg = "Please enter valid Name (First name and Last name)";
}
if (pwd == "") {
errmsg += " Please enter valid Password";
}
if (errmsg != "")
toastr.error(errmsg + ' to start the workflow.');
});
</script>
toastr.options={
“closeButton”:正确,
“调试”:错误,
“newestOnTop”:错误,
“progressBar”:没错,
“positionClass”:“右上角烤面包”,
“防止重复”:正确,
“onclick”:空,
“showDuration”:“300”,
“隐藏”:“1000”,
“超时”:“5000”,
“extendedTimeOut”:“1000”,
“挥杆”:“挥杆”,
“隐藏”:“线性”,
“showMethod”:“fadeIn”,
“隐藏法”:“淡出”
}
$(“.actions”)。在(“单击”,函数(){
var name=$(“#name”).val();
var pwd=$(“#密码”).val();
var errmsg=“”;
如果(名称==“”){
errmsg=“请输入有效姓名(名和姓)”;
}
如果(pwd==“”){
errmsg+=“请输入有效密码”;
}
如果(errmsg!=“”)
toastr.error(errmsg+'启动工作流');
});
您好,请试试这个。这将不允许重复。但分组并不困难。
<input type="text" name="name" id="name" placeholder="Name" />
<br>
<input type="password" name="Password" id="Password" placeholder="Password" />
<br>
<input type="button" class="actions" value="Login" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" rel="stylesheet"
type="text/css">
<script src="https://code.jquery.com/jquery-3.4.1.min.js" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
<script>
toastr.options = {
"closeButton": true,
"debug": false,
"newestOnTop": false,
"progressBar": true,
"positionClass": "toast-top-right",
"preventDuplicates": true,
"onclick": null,
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
}
$(".actions").on("click", function () {
var name = $("#name").val();
var pwd = $("#Password").val();
var errmsg = "";
if (name == "") {
errmsg = "Please enter valid Name (First name and Last name)";
}
if (pwd == "") {
errmsg += " Please enter valid Password";
}
if (errmsg != "")
toastr.error(errmsg + ' to start the workflow.');
});
</script>