Question

Je ne sais pas si mon erreur vient de soumettre le formulaire lui-même via PHP mais il est tout simplement pas frapper ma fonction et de toute façon, peu importe soumet ce qui est retourné. Je ne sais pas ce que je suis absent ici. Ceci est ma forme

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <title>Login Page</title>
    <script type="text/javascript" src="js/functions.js"></script>
    <!--Internal for simplicity or until bigger page -->
    <style type="text/css"> 
        #login div{display:inline;color:red;}
        input{margin-right:20px;}
    </style>
</head>
<body>
<form name="login" id="login" action="<?php $_SERVER['PHP_SELF'] ?>" method="POST" onsubmit="return CheckLogin()">
    <?php if($_POST && $win == false): ?>
        <div>Login Unsuccessful. Please Try Again</div><br />
    <?php endif ?>
        <input type="text" size="10" name="username" /><div></div>
            <br />
        <input type="password" size="10" name="password" /><div></div>
            <br />
    <input type="submit" text="Submit" />
</form>
<a href="register.php">Registration Page</a>
</body>
</html>

Vraiment, je suis en train de vérifier si le nom d'utilisateur / mot de passe sont vides, mais il va de toute façon juste soumet tout au long de cette fonction:

function CheckLogin()
{
    window.alert("made it here");
    var login = document.forms["login"];
    var user = login["username"].value;
    var pass = login["password"].value;

    if(user == null || user == "")
    {
        window.alert("user");
        return false;
    }  

    return false;
}

Je suis sûr que ce stupide est quelque chose qui me manque avant que je soumettais ce que je revérifié les noms de fonction et pour voir si je recevais des erreurs javascript mais ni avéré être le problème. Quelqu'un voir mon erreur?

Le point étant que je ne veux pas le PHP pour exécuter ou le formulaire à soumettre à lui-même si le nom d'utilisateur ou mot de passe est vide ou null.

EDIT Ajout pleine page html moins la fonctionnalité PHP. A également noté que, pour une raison mon lien javascript ne pas la place « lien » Je peux voir le contenu directement dans l'en-tête comme il est intégré par l'intermédiaire d'inspecter élément ou Firebug. Cela pourrait être la racine du problème, mais ne sais pas pourquoi.

EDIT Ajout doctype juste Incase, mais toujours pas d'aide. Il est Embedding automatiquement mon javascript sur ma page et la mise en CDATA comme vous le feriez normalement au lieu de relier réellement. Elle le fait dans IE, Firefox et Chrome ...

si quelqu'un pense que mon PHP pourrait avoir quelque chose à voir avec ce que je pouvais poster, mais je ne vois pas comment le code côté serveur peut interagir avec le code côté client sans être affiché.

Était-ce utile?

La solution

Il y a dans votre code des erreurs mineures. Tout d'abord, il n'y a pas d'attribut appelé « texte » pour une entrée, je crois que vous l'avez manqué :) Essayez de les valider en premier. Cochez cette case pour voir les attributs qu'une entrée peut prendre. Deuxièmement, cette jsFiddle exemple fonctionne correctement dans Chrome et FF. Je ne peux pas tester dans IE depuis que je suis en utilisant Ubuntu.

Après avoir corrigé les attributs de forme, l'exemple jsFiddle a commencé à travailler. Je ne sais pas whethere il est lié à cela, mais apparemment cela semble la seule explication logique à moi votre code ne fonctionne pas.

Autres conseils

Votre code fonctionne bien. Essayez de l'exécuter dans un autre navigateur Web. Il est possible que l'une des extensions installées sur votre navigateur est à l'origine d'une erreur JS (ayant Dictionnaire Google Chrome était à l'origine des problèmes pour moi).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top