0
votes

L'événement Button onclick en Javascript ne déclenche pas d'alertes

J'essaie de créer un système d'enregistrement / connexion simple, mais lorsque j'appuie sur le bouton pour les deux, il ne fait pas ce dont j'ai besoin.

J'ai mis

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);
    });
}

au début de chaque fonction censée fonctionner pour voir si elle se déclenche réellement, mais ce n'est pas le cas. J'ai également vérifié si les événements onclick pour les deux sont correctement référencés et ils le sont. J'ai même essayé de copier les scripts réels dans le fichier html pour m'assurer qu'il ne s'agissait pas d'un problème de référence. À ce stade, je suis vraiment coincé, et s'il s'agit d'une erreur de syntaxe, cela ne m'alerte pas et je n'en ai pas connaissance.

Les codes sont:

index.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>

registration.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>

et script.js:

alert("I work!");

Chaque fois que j'appuie sur les boutons de chacun, cela efface simplement les textes de mes entrées mais ne lance pas d'alerte comme je le souhaite. Veuillez me dire ce que je dois vérifier à ce sujet. Merci.


0 commentaires

3 Réponses :


0
votes

Je pense que votre script n'est pas chargé

Supprimez la première barre oblique inverse ('/') de

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


2 commentaires

loginUser () et registerUser () dans les paramètres du bouton sont définis comme ce que je veux qu'ils soient définis. J'ai également essayé de supprimer la barre oblique et cela ne fonctionne toujours pas.


vérifier la console de votre navigateur? quelle est l'erreur signalée



0
votes

Si vous utilisez votre navigateur, j'essaierais d'abord de ne pas avoir d'extensions de blocage de script "popup", j'ai eu le même problème et le problème était le blocage du chrome popup js car le simple adblocker ne fonctionne pas pour certains sites. >

applaudissements


0 commentaires

0
votes

On dirait une faute de frappe dans la fonction registerUser () essayez de changer l'appel ajax en

$.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 commentaires