Javascript 单击按钮仅显示toastr一次,并将错误消息分组到toastr中

Javascript 单击按钮仅显示toastr一次,并将错误消息分组到toastr中,javascript,jquery,notifications,toastr,Javascript,Jquery,Notifications,Toastr,我正在使用toastr jquery插件。下面是链接 我在这里面临两个问题 当前,点击按钮时显示多个通知(请参阅附图) 应为:每次单击时应显示一个通知,如果存在通知,则不显示另一个通知 将多个通知分组的方法 应为:将组名和密码合并为一个通知 代码 $(“.actions”)。在(“单击“,”.startWorkflowD“,函数()上){ //禁用启动工作流按钮 $('.startWorkflowD').attr('disabled','disabled'); var userDisplayN

我正在使用toastr jquery插件。下面是链接

我在这里面临两个问题

  • 当前,点击按钮时显示多个通知(请参阅附图)

    应为:每次单击时应显示一个通知,如果存在通知,则不显示另一个通知

  • 将多个通知分组的方法
  • 应为:将组名和密码合并为一个通知

    代码

    $(“.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>