0

我是 bootstrap 的新手,之前使用 noty 来生成警报,但是我想尝试在不添加更多插件的情况下执行此操作,因为 bootstrap 的加载已经有些繁重。我可以很容易地创建文本,就在我添加类的时候。

这是我的jQuery:

$(function(){
        $("#passsubmit").click(function(event){
        event.preventDefault();
        $(".error").hide();
        var hasError = false;
        var newpass = $("#password").val();
        var checkVal = $("#password-check").val();
        if (newpass == '') {
            $("#password").after('<span class="error">Please enter a password.</span>');
            hasError = true;
        } else if (checkVal == '') {
            $("#password-check").after('<span class="error">Please re-enter your password.</span>');
            hasError = true;
        } else if (newpass != checkVal ) {
            $("#password-check").after('<span class="error">Passwords do not match.</span>');
            hasError = true;
        }

        if(hasError == true) {return false;}

        if(hasError == false) {
                $.ajax({
                type: "POST",
                url: "resource/changepassword.php",
                data: {newpass:newpass},
                success: function(){
                    //alert("Password Changed");
                    $("#password").val("")
                    $("#password-check").val("");
                    $(document.createElement('<div class="alert alert-success">Password Changed</div>'));
                }
                });

        };
    });
});

这是由于无效字符而失败的部分,我认为这是“

$(document.createElement('<div class="alert alert-success">Password Changed</div>'));

我知道我可以简单地在 html 中有这个:

<div class="alert alert-success" style="visibility: hidden">Password Changed</div>

然后只是显示它,但是当我想要跨多个页面的许多不同警报时,这并不是特别好......

必须有更好的方法来做到这一点?

谢谢 :)

4

1 回答 1

3

你只是把你的语法弄混了:

您通常只使用一个,并且每个用于自己的目的。

然后,只要弄清楚你想让 newdiv去哪里,选择任何 DOM 插入方法*,然后像这样调用:

$('#selector').after('<div class="alert alert-success">Password Changed</div>');

这是小提琴中的工作演示

截屏

* DOM 插入类型:

还有更多方法,但这些是一些流行的方法

于 2013-11-08T20:12:09.013 回答