Controle de saisie directe.

Résolu
Bonjour,

Comment peut on paramétrer un champ dans un formulaire de tel manière a ce qu'il contrôler directement lors de la saisie. CAD un champ e mail, si la saisie ne contient pas de "@" mettre le fond du champ en "rouge" et bloquer le bouton "submit".

Merci d'avance
Configuration: Windows XP
Firefox 3.5.5

6 réponses

  1. document.getElementById("ton_champ").style.backgroundColor = "red";
    
    document.getElementById("ton_bouton").style.disabled = true;
    
    document.getElementById("ton_bouton").style.disabled = false;
    
    
    var Mail = document.getElementById('mail');
    if (Mail.value != '') {
    	var Reg = new RegExp("((^[a-z])(([a-z0-9_]+)|(([a-z0-9_]+)[\.]([a-z0-9_]+)))[@]([a-z0-9]+)[\-]?([a-z0-9]+)[\.](([a-z]+)[\.]?([a-z]+)));
    	if (Reg.test(Mail.value)) {
    		Mail.style.backgroundColor = "green";
    	}
    	else {
    		Mail.style.backgroundColor = "red";
    	}
    }
    1. Par exemple dans un formulaire qui demande le Nom, Prenom et le Mail,:
      -tant les champs nom, prenom sont vides les marquer en rouge
      -tant que le champ mail n'est pas saisie correctement "!eregi("((^[a-z])(([a-z0-9_]+)|(([a-z0-9_]+)[\.]([a-z0-9_]+)))[@]([a-z0-9]+)[\-]?([a-z0-9]+)[\.](([a-z]+)[\.]?([a-z]+)))",$shMail)" ou vide le marquer en rouge.

      -Et tant qu'il y a une "erreur" de remplissage du formulaire ne pas afficher le bouton "submit"
      1. Bah il suffit juste de creuser un peu le fonctionnement de JavaScript.

        Je suis pas du genre à donner un truc "clé en main", désolé : )
        1. Merci pour ta réponse très explicite.
      2. Merci pour le lien. Mais ce n'est pas tout a fait ce que je cherche.
        En fait, je suis à la recherche d'un contrôle interactif qui vérifie l'exactitude de la saisie en direct et qui éventuellement bloque ou libère une "checkbox" ou un "bouton"
        1. JavaScript.

          http://wiki.mediabox.fr/tutoriaux/javascript/verifier-les-champs-formulaire-colorer-les-champs-faux