11548 sujets

JavaScript, DOM et API Web HTML5

Voilà mon soucis -> j'ai créé un formulaire, er j'ai trouvé un script sur le net qui me permettrait de vérifier que les champs du formulaire ne soient pas vide.

Le script marche parfaitement, il affiche un message pour chaque champ vide, colore le champ concerné dans le formulaire, mais il n'empeche pas le formulaire d'être soumis o_O

même quand tous les champs sont vides, le message s'affiche, mais le formulaire est soumis, et me mène à la page de traitement Smiley decu

Voici le code javascript ->

function couleur(obj)
{
        obj.style.backgroundColor = "#FFFFFF";
}
function check()
{
        var msg = "";
        if (document.formulaire.mail.value != "")
        {
                indexAroba = document.formulaire.mail.value.indexOf('@');
                indexPoint = document.formulaire.mail.value.indexOf('.');
                if ((indexAroba < 0) || (indexPoint < 0))
                {
                                        document.formulaire.mail.style.backgroundColor = "#F3C200";
                        msg += "Le mail est incorrect\n";
                }
        }
        else
{
                                document.formulaire.mail.style.backgroundColor = "#F3C200";
        msg += "Veuillez saisir votre mail.\n";
}
if (document.formulaire.bdd_adresse.value == "")
{
        msg += "Veuillez saisir l'adresse de la base de données\n";
                                document.formulaire.bdd_adresse.style.backgroundColor = "#F3C200";
}
if (document.formulaire.bdd_nom.value == "")
{
        msg += "Veuillez saisir le nom de la base de données\n";
                                document.formulaire.bdd_nom.style.backgroundColor = "#F3C200";
}
if (document.formulaire.bdd_login.value == "")
{
        msg += "Veuillez saisir le nom d'utilisateur pour votre base de données\n";
                                document.formulaire.bdd_login.style.backgroundColor = "#F3C200";
}
if (document.formulaire.prefixe.value == "")
{
        msg += "Veuillez saisir le préfixe pour les tables\n";
                                document.formulaire.prefixe.style.backgroundColor = "#F3C200";
}
if (document.formulaire.chemin.value == "")
{
        msg += "Veuillez saisir le chemin de votre galerie\n";
                                document.formulaire.chemin.style.backgroundColor = "#F3C200";
}
if (document.formulaire.pseudo.value == "")
{
        msg += "Veuillez saisir votre pseudo\n";
                                document.formulaire.pseudo.style.backgroundColor = "#F3C200";
}
if (document.formulaire.mot_passe.value == "")
{
        msg += "Veuillez saisir votre mot de passe\n";
                                document.formulaire.mot_passe.style.backgroundColor = "#F3C200";
}
                        
if (document.formulaire.prenom.value == "")
{
        msg += "Veuillez saisir votre prenom\n";
                                document.formulaire.prenom.style.backgroundColor = "#F3C200";
}
if (document.formulaire.nom.value == "")
{
        msg += "Veuillez saisir votre nom\n";
                                document.formulaire.nom.style.backgroundColor = "#F3C200";
}
if (msg == "") return(true);
                        
else
{
        alert(msg);
        return(false);
}
}


Quelqu'un peut-il m'aider svp ? :o
Modifié par K-Phoen (29 Dec 2006 - 09:58)
à la fin essaye return false plutôt que return(false). c'est peut être à cause de ça mais j'en suis pas sur.
Normalement il suffit d'avoir un return false pour empecher le submit...
bonjour !

tu as bien mis sur la balise formulaire un truc du style :

<form name="..." onsubmit="return check();">


si tu n'as pas mis le return, c'est normal que cela ne fonctionne pas.
ah voilà ce qui faut faire pour que ça marche bien (vu sur openweb):

<form action="url_page_suivante" onsubmit="return check()"
  method="get" name="formSaisie">

Modifié par masseuro (29 Dec 2006 - 09:50)
c'est bon Smiley biggrin

ça marche Smiley langue

merci à tous pour votre précieuse aide Smiley cligne

(je ne suis qu'un gros débutant dans le javascript, et ça se voit Smiley biggol )
Smiley sweatdrop je suis aveugle moi j'avais meme pas vu le post de zeke, j'ai fond redondant..... je vais retourner me coucher, à mince non je peux pas Smiley confus