Одна функция во внешнем JS-файле не определена в HTMLButtonElement.onclick - PullRequest
0 голосов
/ 25 сентября 2018

Я кодирую веб-сайт от 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);
    }
});

В этих кодахФункция добавления работает правильно, что означает, что JavaScript-код неплох, и Visual Studio выполняет его правильно.

Моя проблема такая странная !!!

Когда я запускаю программу через точку останова, программаработает правильно и получает необходимую мне информацию из базы данных, но внутри консоли браузера пишет: Логин не определен в HTMLButtonElement.onclick.

Если он не находит функцию входа в систему, как база данных приносит информациюtion ??? !!!

Наконец: моя проблема в том, что функция входа в систему работает неправильно

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...