pb de script.

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
yves_b

pb de script.

Message par yves_b »

Bonjour,
Toujours mes PB avec XMLHttpRequest. Je sais on m'a dit
le fait d'utliser XMLHttpRequest n'est plus de progammation lineaire mais de l'evenenttielle.
OK
Je ne suis pas specialiste Ajax et ne fait des fonctions Javascript que ponctuellement.(je suis un vieux qui essaie de comprendre).
je vous soumet le script dont j'ai besoin
je veux verifier que le login et mot de passe saisis n'existent dans la base
s'il existent le script dza_1.cgi renvoit un message dans une alerte
et sur un focus place le curseur sur la zone de saisie du login.
cela ne marche pas et j'avoue mon ignorance de ce qui se passe.
que faut 'il modifier pour resoudre ce PB
avec mes remerciements.
si vous avez une idee.
A+
Yves

Code : Tout sélectionner

function vrif_date(tmpdat)
{
return(tmpdat.substr(0,2) >= 01 && tmpdat.substr(0,2) <=31 && tmpdat.substr(2,2) >= 01 && tmpdat.substr(2,2) <= 12 && tmpdat.substr(4,4) >= 2006 );
}

function checkdate()
{	
 
	if (document.vrifdate.Date_Debut_Val.value.length !=8)
	{
             alert("La date debut de validite est invalide");
             document.vrifdate.Date_Debut_Val.focus();
	return false;
	}
	else {
	 tmp_dat_deb = document.vrifdate.Date_Debut_Val.value;
           if(!vrif_date(tmp_dat_deb))
            {
              alert ("Date incorrecte Veuillez la verifier !.Elle doit etre de la forme JJMMAAAA ");
               document.vrifdate.Date_Debut_Val.focus();
               return false;
            }
         }
	 
	if (document.vrifdate.Date_Fin_Val.value.length !=8)
	{
              alert("La date fin de validite est invalide");
              document.vrifdate.Date_Fin_Val.focus();
	return false;
	}
	else {
	 tmp_dat_deb = document.vrifdate.Date_Fin_Val.value;
           if(!vrif_date(tmp_dat_deb))
            {
              alert ("Date incorrecte Veuillez la verifier !.Elle doit etre de la forme JJMMAAAA ");
              document.vrifdate.Date_Fin_Val.focus();
              return false;
            }
         }
	if (document.vrifdate.Date_Debut_Val.value > document.vrifdate.Date_Fin_Val.value )
         {
           alert("Erreur la date debut de validite est superieure a la date fin de validite ");
	   document.vrifdate.Date_Debut_Val.focus()
           return false;
         }
	//
	// verification saisie Login et Mote de Passe
	//
	if (document.vrifdate.Login.value.length >6 || document.vrifdate.Login.value.length == 0)
	{
              alert("Vous devez entrer un login au maximum sur 6 caractères");
              document.vrifdate.Login.focus();
	return false;
	}
	if (document.vrifdate.Mot_Passe.value.length >6 || document.vrifdate.Mot_Passe.value.length == 0)
	{
              alert("Vous devez entrer un Mot de passe au maximum sur 6 caractères");
              document.vrifdate.Mot_Passe.focus();
	return false;
	}
	//
	// on verifie que le login et mot de passe n\'existe pas
	//
        var Login = document.vrifdate.Login.value;
        var Mot_Passe = document.vrifdate.Mot_Passe.value;
        var xhr_object = null;
	var data = "Login="+Login+"&Mot_Passe="+Mot_Passe;
        
          if(window.XMLHttpRequest){
              xhr_object = new XMLHttpRequest();
          }
          else if(window.ActiveXObject){ 
              xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
         }
          // XMLHttpRequest non supporté par le navigateur
         else {                                                                   
              alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
              return false;
         }
	 
        xhr_object.open("POST","dza_1.cgi", true); // mode asynchrone
	
        xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhr_object.send(data);
	
        xhr_object.onreadystatechange = function () {

        if(xhr_object.readyState == 4 ) {
              
	      var tmp = xhr_object.responseText.split(":");
	      alert (tmp);
	      if (tmp[0] == 1){
	         [b]alert("-->"+tmp[1]);[/b]
	         [b]document.vrifdate.Login.focus();
	         return false;[/b]
	      }
	      else {
	      alert("je suis la");
	          return;
	      }
         }
         else {
             return false;
         }
        };
}

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Qu'est-ce qui ne marche pas exactement ?

L'alerte n'apparait pas ? La réponse du serveur n'est pas celle que tu attendais ? Autre chose ?
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Invité

Message par Invité »

Bonjour,

Comme j'ai beaucoup de choses a faire en meme temps
m'occuper des electriciens, du telephone et de l'informatique "accessoirement " en plus avec de nouvelles responsabilltes
j'ai n'ai pu repondre avant.
en fait l'alert est bien renvoyee ce qui ne fonctionne pas c'est le focus qui ne se repositionne pas le curseur sur la zone de saisie du login .

Voila

A+

Yves

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Est-ce qu'il y a quelque chose qui s'affiche dans la console JavaScript de Firefox (dans le menu Outils) au moment où ça devrait se faire ?
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Invité

Message par Invité »

Bonjour,

NON justement.
mais le comportement de FIREFOX est different par rapport a IE
notament sur l'alert.
ceci dit le focus sur la zone de saisie est inactif sur les 2 .
est-ce qu'il y a une difference de comportement de responseText
suivant les naviguateurs.
faut-il modifier le script ?? si oui quoi
a vrai dire je ne sais plus.
A+

Yves


Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Les autres focus() fonctionnent (notamment celui qui vérifie la longueur du mot de passe) ?

Si c'est général tu as sans doute résolu le problème de la requête et ce n'est plus qu'un problème de référencement du contrôle.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités