Vérification automatique avec onchange

lastardu91630 Messages postés 5 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 16 décembre 2007 - 15 déc. 2007 à 15:56
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 - 21 déc. 2007 à 00:44
Bonjour, je voudrais avoir un formulaire qui vérifie automatiquement les champs (ex.e-mail du type XXXXXXX@XXXXXX.fr ou si c'est un nombre ...) je connais la fonction onchange mais je ne suis pas très bon en javascript je le suis plus en php, html et css donc je voudrais, si possible un code sources déja fait ou m'expliquer. Merci, cordialement

7 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 déc. 2007 à 16:00
Bonjour,

    et pourquoi ne pas faire une recherche dans les codes ?
    il y a une foultitude de réponses

    je n'en citerais que 2, au hasard   :o)
        CCF et CONFORM

                je dis au hasard, car il y en a d'autres

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
lastardu91630 Messages postés 5 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 16 décembre 2007
15 déc. 2007 à 16:03
Je vais regarder mes merci de continuer a me répondre.
0
lastardu91630 Messages postés 5 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 16 décembre 2007
15 déc. 2007 à 16:20
j'ai rechercher dans les codes mais je n'est trouvé que des formulaire qui vérifie en cliquant sur un bouton, mais moi je cherche un formulaire qui vérifie automatiquement (comme l'on trouve sur plusieur site)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 déc. 2007 à 16:49
ben et alors ?        le "onclick" n'appelle pas une fonction ?
appelle-là quand tu veux. ( onblur, onchange... )
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lastardu91630 Messages postés 5 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 16 décembre 2007
15 déc. 2007 à 17:43
je pense que c'est onchange mais sinon il peut aussi y avoir une actulisation, ou alors, des fois, pour les forum il y a une visualisation automatique dès que l'on écrit un caractère, pour répondre a une question. quand je disai onchange c'était pour un exemple.
0
lastardu91630 Messages postés 5 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 16 décembre 2007
16 déc. 2007 à 03:00
j'ai recherché et j'ai créer un code pur virifier le formulaire sans clic (automatique) avec onChange mais j'aurais besoin d'aide pour, au lieu de le faire pour tout le formulaire, vérifier champ par champ donc voici le code : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
    <title>Script : Formulaire de validation II</title>
    <style>
.error {
     color: #FF0000;
}
span {
     font-weight: bold;
}
</style>

<script type="text/javascript">

function validate() {
  if(!document.getElementById) return;

  var pseudo = document.getElementById("pseudo").value;
  var email = document.getElementById("email").value;
  var surname = document.getElementById("pass").value;
  var street = document.getElementById("street").value;
  var town = document.getElementById("town").value;
  var city = document.getElementById("city").value;
  var county = document.getElementById("county").value;
  var postcode = document.getElementById("postcode").value;
  var phone = document.getElementById("phone").value;
  var fax = document.getElementById("fax").value;
  var incorrect = new Array();
  var no = 0;
  var regExp = /^[a-zA-Z0-9._-]+$/;
 
  if(regExp.test(pseudo)) {

  } else {
       incorrect[no] = "1";
       no++;
       title = "";
  }

  regExp = /^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
  if(regExp.test(email)) {
  } else {
       incorrect[no] = "2";
       no++;
       initials = "";
  }

  regExp = /^[a-zA-Z0-9._-]+$/;
  if(regExp.test(surname)) {
  } else {
       incorrect[no] = "3";
       no++;
       surname = "";
  }

  if(street.length < 5) {
       incorrect[no] = "4";
       no++;
       street = "";
  }

  if(town.length < 3) {
       incorrect[no] = "5";
       no++;
       town = "";
  }
  if(city.length < 3) {
       incorrect[no] = "6";
       no++;
       city = "";
  }
  if(county.length < 5) {
       incorrect[no] = "7";
       no++;
       county = "";
  }

  postcode = postcode.toUpperCase();

  regExp = /[A-Z]{2}\d{1}\d?\s?\d{1}[A-Z]{2}/;
  if(regExp.test(postcode)) {
       if(postcode.indexOf(" ") < 0) {
            postcode = postcode.substring(0,postcode.length-3) + " " + postcode.substring(postcode.length-3,postcode.length);
       }
  } else {
    incorrect[no] = "8";
    no++;
    postcode = "";
  }

  regExp = /\(?\d{5}\)?\s?\d{6}/;
  if(regExp.test(phone)) {
       if(phone.indexOf("(") < 0) {
            phone = "(" + phone.substring(0,5) + ") " + phone.substring(phone.length-6,phone.length);
    } else if(phone.indexOf(" ") < 0) {
            phone = phone.substring(0,7) + " " + phone.substring(phone.length-6,phone.length);
       }
  } else {
    incorrect[no] = "9";
    no++;
    phone = "";
  }
  if(regExp.test(fax)) {
       if(fax.indexOf("(") < 0) {
            fax = "(" + fax.substring(0,5) + ") " + fax.substring(fax.length-6,fax.length);
       } else if(fax.indexOf(" ") < 0) {
           fax = fax.substring(0,7) + " " + fax.substring(fax.length-6,fax.length);
       }
  } else {
    incorrect[no] = "10";
    no++;
    fax = "";
  }

  for(i=1;i<11;i++) {
          document.getElementById(i).style.color="#00762f";
  }

  for(j=0;j<no;j++) {
          document.getElementById(incorrect[j]).style.color="#FF0000";
  }
  document.getElementById("pseudo").value = pseudo;
  document.getElementById("initials").value = initials;
  document.getElementById("surname").value = surname;
  document.getElementById("street").value = street;
  document.getElementById("town").value = town;
  document.getElementById("city").value = city;
  document.getElementById("county").value = county;
  document.getElementById("postcode").value = postcode;
  document.getElementById("phone").value = phone;
  document.getElementById("fax").value = fax;
}

</script>
<style>   
td {
font-size : 10px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
}    
</style>   
    </head>
                       

       

<form action="" method="post">
Choisissez un pseudo :, , ----
E-mail :, , ----
Mot de passe :, , ----
Street:, , ----
Town:, , ----
City:, , ----
County:, , ----
Postcode:, , ----
Phone number:, , ----
Fax number:,

</form>

               
                                </td>
                            </tr>
                        </tbody>
                    </table>

                   
   
    </html>



Merci d'avance !
0
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
21 déc. 2007 à 00:44
Salut,

Le problème avev le onChange c'est qu'il ne s'exécute que lorsque le input pert le focus...donc d'après ce que tu explique cela ne va pas avec ce que tu veux.
Voici un petit bout de code qui effectue un complétion, il vérifie tous les 100ms (tu peux modifier ce temps) si le texte change dans le input.

Voici le code javascript:

<script type= "text/JavaScript">

var contenu="";
setInterval("completion()",100);

function verif()
{
    if(document.form.mon_text.value == "Pseudo")
        alert("ok");
}

function completion()
{
        if(document.form.mon_text.value != contenu)
        {
            verif();
            contenu = document.form.mon_text.value;
        }
}
</script>

et le html :

<form name ="form">
   
</form>

Voilà après pour ce qui est d'être un mail il faut que tu découpes le contenu de ton input etc...
0
Rejoignez-nous