HTMLButtonElement.onclick中未定义外部Js文件中的一个函数

时间:2018-09-25 06:51:22

标签: javascript c# jquery ajax asp.net-mvc

我正在编码一个从0到100的网站。现在我正在编码“登录”部分。

这是我的HTML代码:

<div class="limiter">
    <div class="container-login100">
        <div class="wrap-login100 p-l-55 p-r-55 p-t-65 p-b-54">
            <form class="login100-form validate-form">
               <span class="login100-form-title p-b-49">
                    ورود    
                </span>

                <div class="wrap-input100 validate-input m-b-23 text-right">
                    <span class="label-input100">ایمیل / شماره موبایل</span>
                    <input class="input100" type="email" id="UserEmailLogin" placeholder="ایمیل / شماره موبایل">
                    <span class="focus-input100" data-symbol="&#xf206;"></span>
                </div>

                <div class="wrap-input100 validate-input text-right">
                    <span class="label-input100">رمز عبور</span>
                    <input class="input100" type="password" id="UserPasswordLogin" placeholder="رمز عبور خود را وارد کنید">
                    <span class="focus-input100" data-symbol="&#xf190;"></span>
                </div>

                <div class="modal fade" id="MessageModalLogin" tabindex="-1" role="dialog" aria-labelledby="MessageModalLoginLabel" aria-hidden="true">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h5 class="modal-title" id="MessageModalLoginLabel">پیغام سیستمی</h5>
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                            </div>
                            <div class="modal-body text-right">
                                <p id="ModalMessageBodyLogin"></p>
                                <p id="EmailSendMessageLogin"></p>
                            </div>
                            <div class="modal-footer" id="ModalFooterActiveLogin">

                            </div>
                        </div>
                    </div>
                </div>

                <div class="text-right p-t-8 p-b-31">
                    <a href="#">
                        رمز عبور خود را فراموش کرده اید ؟
                    </a>
                </div>

                <div class="container-login100-form-btn">
                    <div class="wrap-login100-form-btn">
                        <div class="login100-form-bgbtn"></div>
                        <button class="login100-form-btn" type="button"  onclick="Login()" data-toggle="modal" data-target="#MessageModalLogin">
                        ورود
                        </button>
                    </div>
                </div>

                <div class="flex-col-c p-t-70">
                    <span class="txt1 p-b-17">
                        اکانت ندارید ؟
                    </span>
                    <a href="@Url.Action("Register","Home")" class="txt2">
                        ثبت نام
                    </a>
                </div>
            </form>
        </div>
    </div>
</div>
<div id="dropDownSelect1"></div>
<script src="~/Assets/LoginRegister/js/main.js"></script>
<script src="~/Assets/js/Ajax/UserLoginRegister.js"></script>

HTML标记正确运行,并且没有问题。

我从用户那里获得了用户名和密码,并在数据库中进行了检查,该用户名是否存在?

我已经用AJAX完成了

这是我的JavaScript代码:

  

注意:不要关注“添加”功能,该功能用于“注册”页面

function Add() {
    var userEmail = $('#UserEmail').val();
    var userMobile = $('#UserMobile').val();
    var userPassword = $('#UserPassword').val();

    var url = "UserRegister";
    $.post(url, { email: userEmail, mobile: userMobile, password: userPassword }, function (data) {
        if (data.message != "ثبت نام شما به درستی انجام شد") {
            $('#ModalFooterActive').hide();
            $('#SmallNote').hide();
        }
       else {
            $('#ModalFooterActive').html('<button class="btn btn-sm btn-primary" type="button" id="btnActiveEmail">ارسال ایمیل فعالسازی</button>');
            $('#SmallNote').show();
       }
      $("#MessageModalAjax").show();
      $("#ModalMessageBody").html(data.message);
      $("#btnActiveEmail").click(function () {
      $(this).css("display", "none");
      ActiveEmail(data.userActiveEmail, userEmail);
    });
});


function ActiveEmail(userActiveEmail, userEmail) {
    if (userActiveEmail == null) {
        return false;
    }
    else {
        var url = "VerifyEmail";
        $.post(url, { UserEmail: userEmail, UserEmailActiveCode: userActiveEmail }, function (data) {
        $("#EmailSendMessage").html(data);
    });
}


function Login() {
    var userEmailLogin = $("#UserEmailLogin").val();
    var userPasswordLogin = $("#UserPasswordLogin").val();

    var MyUser = { UserValue: userEmailLogin, UserPassword: userPasswordLogin };
    $.ajax({
        url: "LoginDetails",
        data: JSON.stringify(MyUser),
        type: "POST",
        contentType: "application/json;charset=utf-8",
        dataType: "json",
        success: function (data) {
            if (data.message == "حساب کاربری شما هنوز فعال نشده است") {
                $('#ModalFooterActive').html('<button class="btn btn-sm btn-primary" type="button" id="btnActiveEmail">ارسال ایمیل فعالسازی</button>');
                $("#MessageModalLogin").show();
                $("#ModalMessageBodyLogin").html(data.Message);
                $("#btnActiveEmail").click(function () {
                $(this).css("display", "none");
                ActiveEmail(data.userEmailActiveCode, userEmailLogin);
            });
        }
        else if (data.message == "ورود با موفقیت انجام شد") {
            window.setTimeout(function () {
                window.location.href = SetURLLogin();
            }, 5000);
        }
        else {
            $("#ModalMessageBodyLogin").html(data.Message);
        }
    },
    error: function (errormessage) {
        alert(errormessage.responseText);
    }
});

在这些代码中,Add函数可以正常工作,这表示JavaScript代码还不错,Visual Studio可以正确执行它。

我的问题太奇怪了!

当我通过Breakpoint运行该程序时,该程序可以正常运行并从数据库中接收到我需要的信息,但是在浏览器控制台中写道:登录未在HTMLButtonElement.onclick上定义。

如果找不到登录功能,数据库如何带来信息?

最后:我的问题是功能登录不能正确运行

谢谢

0 个答案:

没有答案