Событие нажатия кнопки в Javascript не вызывает оповещения - PullRequest
0 голосов
/ 19 января 2019

Я пытаюсь создать простую систему регистрации / входа, но когда я нажимаю кнопку для обоих вариантов, она не делает то, что мне нужно.

Я помещаю

alert("I work!");

в начале каждой функции, которая должна работать, чтобы увидеть, действительно ли она срабатывает, но не работает.Я также проверил, правильно ли ссылаются на события onclick для обоих.Я даже пытался скопировать фактические сценарии в HTML-файл, чтобы убедиться, что это не ссылочная проблема.На данный момент я действительно застрял, и если это какая-то синтаксическая ошибка, это не предупреждает меня, и я не знаю ни о чем.

Коды:

index.html:

<!DOCTYPE html>
<html>
    <head>
        <title>Opportunities</title>
        <script type="text/javascript" src="jquery-3.3.1.min.js"></script>
        <script type="text/javascript" src="/js/script.js"></script>
    </head>
    <body>
        <p>Uwu</p>

        <form>
            <p>Username <input type="text" class="username" /></p>
            <p>Password <input type="password" class="password" /></p>
            <button onclick="loginUser()">Login</button>
        </form>

        <p>Not yet registered? <a href="/register">Click here to create an account.</a> </p>
    </body>
</html>

registration.html:

<!DOCTYPE html>
<html>
    <head>
        <title>Register</title>
        <script type="text/javascript" src="jquery-3.3.1.min.js"></script>
        <script type="text/javascript" src=/js/script.js"></script>
    </head>
    <body>
        <p>Registration page</p>

        <form>
            <p>Username <input type="text" class="username" /></p>
            <p>Password <input type="password" class="password" /></p>
            <button onclick="registerUser()">Register</button>
            <!--onclick event doesn't work-->
        </form>

        <p><a href="/">Click here to go back.</a></p>
    </body>
</html>

и script.js:

var url = "http://localhost:8888";

function test(){
    console.log('hello');
}

function registerUser(){
    alert("I work!");
    var username = document.getElementbyClassName("username");
    var password = document.getElementbyClassName("password");

    $.ajax{(
        url: url + "/register",
        method: "post",
        data: {
            username: username[0].value,
            password: password[0].value
        }
        success: function(respons){
            alert(response.message);
        }
    }).error(function(response){
        alert(response.message);
    });
}

function loginUser(){
    alert("I work!");
    var username = document.getElementbyClassName("username");
    var password = document.getElementbyClassName("password");

    $.ajax({
        url: url + "/login",
        method: "post",
        data: {
            username: username[0].value,
            password: password[0].value
        }
    }).success(function(response){
        alert(response.message);
    }).error(function(response){
        alert(response.message);
    });
}

Всякий раз, когда я нажимаю кнопки для каждого, он просто очищаетсятексты в моих входах, но не запускает оповещение, как я собираюсь.Пожалуйста, скажите мне, что я должен проверить по этому поводу.Спасибо.

Ответы [ 3 ]

0 голосов
/ 20 января 2019

Если вы используете свой браузер, я сначала попробую, чтобы у вас не было расширений блокировки всплывающих окон, у меня была та же проблема, и проблема была в chrome popup js blocker, потому что простой adblocker не работает на некоторых сайтах.

ура

0 голосов
/ 20 января 2019

Похоже на опечатку в функции registerUser(), попробуйте изменить вызов ajax на

$.ajax({
    url: url + "/register",
    method: "post",
    data: {
        username: username[0].value,
        password: password[0].value
    },
    success: function(respons){
        alert(response.message);
    }
}).error(function(response){
    alert(response.message);
});
0 голосов
/ 19 января 2019

Я думаю, что ваш скрипт не загружен

Снять обратную косую черту ('/') с

  <script type="text/javascript" src=/js/script.js"></script>
...