IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Lancer un formulaire via javascript : ne fonctionne pas


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Lancer un formulaire via javascript : ne fonctionne pas
    Bonjour tout le monde,

    J'ai un problème pour appeler mon formulaire via javascript.

    voici le code de mon form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="authentification.php" method="post" name="form1" target="_blank" id="form1">
    Je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.form1.submit();
    Mais j'obtiens une erreur que voici :

    [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLFormElement.submit]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://localhost/login/Check_identifiants.js :: anonymous :: line 40" data: no]
    [Break on this error] document.form1.submit();
    J'utilise AJAX juste pour me retourner 0 ou 1 (1 si les identifiants sont correctes) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    function getXhr()
    	{
        	var xhr = null; 
    		if(window.XMLHttpRequest) // Firefox et autres
    		xhr = new XMLHttpRequest(); 
    		else if(window.ActiveXObject){ // Internet Explorer 
    		   try {
    				xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			    } catch (e) {
    			    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			    }
    			}
    			else { // XMLHttpRequest non supporté par le navigateur 
    			   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    			   xhr = false; 
    			} 
                  return xhr;
    	}
     
    function check_identifiants(matricule,login,mdp)
    {
     
    	//alert(Login);
    	//ici, on utlise de l'ajax sans écrire quoi que ce soit dans la page, on ne fait qu'appeler du php sans faire de refresh 
     		//cette varaible récupere les 5 premiers caracteres du code de confirmation afin d'afficher que les 5 premiers caracteres (mesure de sécurité)
    		var xhr = getXhr();
    		xhr.onreadystatechange = function()
    		{
    			if(xhr.readyState == 4 && xhr.status == 200)
    			{
    				leretour = xhr.responseText;
    				alert(leretour);
    				if(leretour == 0)
    				{
    					document.getElementById('td_gif_identifiants_nok').innerHTML = '<img src="../Images/delete-user-icon.jpg" />';
    					document.getElementById('td_texte_identifiants_nok').innerHTML = 'identifiants incorrects !';
    				}
    				else //si les identifiants sont ok, je lance le formulaire
    				{
    					document.form1.submit();
    				}
     
     
    			}
    		}
     
     
    	//alert(categorie);
     		//j'appelle la page Update_Cloture.php pour mettre a jour la table cours (cloture)
    		xhr.open("POST","../Scripts/Utilisateur/check_identifiants.php",true);
    		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		xhr.send("matricule="+matricule+"&login="+login+"&mdp="+mdp);
     
     
     
    }
    le code PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php 
    include('../connexion.php');
     
    $LeMotDePasseCrypte = sha1($_POST['mdp']);
     
    $req = "SELECT professeurs.MATRICULE_PROF, professeurs.LOGIN2, professeurs.CODE_CONFIRMATIION FROM professeurs WHERE MATRICULE_PROF = '".$_POST['matricule']."' AND LOGIN2 = '".$_POST['login']."' AND MDP2 = '$LeMotDePasseCrypte' ";
     
    $query = mysql_query($req);
     
    $nombre = mysql_num_rows($query);
     
    if ($nombre < 1)
    {
            echo '0';
    }
    else
    {
            echo '1';
    }
    ?>
    Je ne comprends pas pourquoi cela ne fonctionne pas.

    Merci d'avance pour votre aide.

    beegees

  2. #2
    Membre éprouvé Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Par défaut
    Bonsoir,

    C'est bizarre...

    As tu essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms[0].submit();
    ou de passer par l'ID de ton form (puisque le name n'est pas valide niveau W3C) et de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('form1').submit();

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par Alt157 Voir le message
    Bonsoir,

    C'est bizarre...

    As tu essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms[0].submit();
    ou de passer par l'ID de ton form (puisque le name n'est pas valide niveau W3C) et de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('form1').submit();
    Bonjour,

    Merci pour ta réponse.

    Ta première solution ne fonctionne pas, j'obtiens ce message d'erreur :

    [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLFormElement.submit]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://localhost/login/Check_identifiants.js :: anonymous :: line 40" data: no]
    [Break on this error] document.forms[0].submit();
    La seconde solution ne fonctionne pas non plus :

    [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLFormElement.submit]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://localhost/login/Check_identifiants.js :: anonymous :: line 40" data: no]
    [Break on this error] document.getElementById('form1').submit();
    Je suis dans une page qui contient de nombreux cadres, peut être que le nom de la page doit être mentionné, est-ce possible de faire cela ?

    Merci encore.

    beegees

Discussions similaires

  1. Menu en javascript ne fonctionne pas avec Mozilla
    Par kcizth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/02/2008, 10h42
  2. Connexion via Indy10 ne fonctionne pas sur un autre ordinateur
    Par kernigansnotdead dans le forum Composants VCL
    Réponses: 7
    Dernier message: 12/02/2008, 09h17
  3. balise script : javascript ne fonctionne pas
    Par Darkroro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/01/2008, 10h43
  4. formulaire de connexion ne fonctionne pas
    Par masterix59 dans le forum Langage
    Réponses: 2
    Dernier message: 20/09/2007, 00h31
  5. [javascript] Ne fonctionne pas sur Safari
    Par sanosuke85 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/03/2007, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo