-1
votes

Quel est le problème avec mon code jquery? Essayer de ne pas recharger le formulaire si les mots de passe ne correspondent pas

J'essaie de ne pas recharger mon formulaire si mon mot de passe 1 et 2 ne correspond pas lorsque je clique sur Soumettre. Ce qui ne va pas avec mon code, joindre HTML et JS.

$(document).ready( function() {

  $("#submit").click( function() {
    var password1 = $("#password");
    var password2 = $("#password2");
    alert(password2);
    if (password1 /= password2) {
      preventDefault();
    }

  });
});


4 commentaires

ignorer la "fonction d'alerte"


mot de passe1 / = mot de passe2 ? Qu'essayez-vous avec la division ici?


Je pense que vous avez un typo, "mot de passe1 / = mot de passe2" doit beif mot de passe1! = Password2


@Codemaniac Je suis à peu près sûr qu'ils tentent "pas =" là-bas. Je pense que Haskell utilise cet opérateur.


3 Réponses :


0
votes

Si je me rappelle correctement, vous n'obtenez que la référence à l'élément DOM. Pour obtenir la valeur, vous devez utiliser .val ()

Vous faites également une division au lieu d'une comparaison. Votre comparaison de la déclaration IF doit être la suivante:

si (mot de passe1.val ()! == Password2.val ()) {

Vous devez également passer L'objet événement sur votre auditeur de click. Donc dans l'ensemble, il devrait être: xxx


4 commentaires

Essayé cela, vu ma faute de frappe, ne fonctionne toujours pas. Devrais-je changer mes déclarations Var ASWELL ou devraient-elles rester les mêmes?


Ouais n'a pas remarqué. Existe-t-il une fonction globale preventDefault sur votre code? Vous devrez peut-être avoir un «code> événement param sur votre fonction Onclick et utilisez la fonction préventiveDefault de cet objet. Je vais mettre à jour ma réponse


Je n'ai pas de fonction OnClick pour le bouton d'envoi, cela fonctionne via mes routres.py et envoie une méthode postale. Je pense que JQuery domine cela? Je suis nouveau à JQuery. Ma pensée était que Purtissdefault empêche la méthode postale qui soumettre généralement.


Vous créez un écouteur d'événement de clic sur votre bouton d'envoi. Je vous suggère de lire les bases JavaScript et de la façon dont JQuery fonctionne afin de bien comprendre ce que vous essayez de faire. Là encore, je ne vous suggère pas d'utiliser JQuery depuis que de nombreuses fonctions qu'ils fournissaient sont désormais disponibles sur les navigateurs modernes. J'ai mis à jour ma réponse. J'espère que cela aide!



0
votes

une partie de la connexion de l'événement de clic à PRENVENDEFAULT () CODE>, Le comparateur logique simple ! = Code> doit être utilisé dans votre exemple puisqu'il est agnostique sur le type d'objet, empêchez enfin une validation vraie si les champs sont vides

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<form id="form" action="">
<label for="password">Lösenord: </label>
        <input type="password" class="form-control" id="password" name="password" placeholder="Lösenord" required>
        <p>
        </p>
        <label for="password2">Upprepa Lösenord: </label>
        <input type="password" class="form-control" id="password2" name="password2" placeholder="Lösenord" required>
        <p>
        <button id="submit">Ok</button>
        </p>
 </form>
        


0 commentaires

0
votes

Mis à part les problèmes indiqués par @joshua robles,

Ajoutez une attribut code> vide code> à vos champs d'entrée tels que celui-ci: p>

Code> P>

Code complet et Démo:

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label for="password">Lösenord: </label>
<input type="password" class="form-control" id="password" name="password" placeholder="Lösenord" value="" required>
<p></p>
<label for="password2">Upprepa Lösenord: </label>
<input type="password" class="form-control" id="password2" name="password2" placeholder="Lösenord" value="" required>
<p></p>
<input type="submit" id="submit">


0 commentaires