begin process at 2012 05 31 13:04:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Web 2.0

 > 

Ajax

 > 

Probleme de formulaire avec ajax


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme de formulaire avec ajax

jeudi 29 janvier 2009 à 17:21:43 | Probleme de formulaire avec ajax

scrugeon

Bonjour tout le monde,

Alors voilà je me lance à la découverte du JS et de l'AJAX et je galère un peu sur un formulaire.

Je vous explique un peu mon problème :
J'ai formulaire qui est contenu dans mon "index.php".
Quand je valide ce formulaire, je lance un vérification en javascript (ça c'est bon ça marche nikel).
Ensuite, si il y a un champ non rempli, j'affiche une alerte (ça marche aussi).
Quand il n'y a pas d'erreurs, je passe les données du formulaire vers un second fichier "suite.php" qui à terme fera lui aussi une vérification des données (en PHP) et entrera les données dans la base.

Voilà donc le principe. Là où j'ai un problème (dans le fichier "ajax_go.js" je pense), c'est que je n'arrive pas à faire apparaître le fichier "suite.php" dans le div prévu à cet effet (nom du div : info).

Je vous mets le code de mes fichiers ci-dessous.

     index.php
<html>
<head>
<script src="javascript/ajax.js" type="text/javascript"></script>
<script src="javascript/ajax_go.js" type="text/javascript"></script>
</head>

<body>

<?php
if (isset($_POST['nom']))
    {
    $nom=$_POST['nom'];
    }
if (!isset($_POST['nom']))
    {
    $nom="";
    }
if (isset($_POST['prenom']))
    {
    $prenom=$_POST['prenom'];
    }
if (!isset($_POST['prenom']))
    {
    $prenom="";
    }
?>

<div id="page">
    <form name="formulaire" method="POST" onSubmit="verif_4()">
           
        <fieldset><legend>Inscription</legend>
           
        <div id="info">
       
           
        <label>Nom :</label> <input type="text" id="nom" name="nom" <?php echo "value='".$nom."'" ?> >
           
        <br>   
        <br>
           
        <label>Prénom :</label> <input type="text" id="prenom" name="prenom" <?php echo "value='".$prenom."'" ?> >
           
        <br>
        <br>
           
        <input type="submit" name="submit" value="Validation">
           
        </div>
           
        </fieldset>
           
    </form>
</div>

</body>
</html>


     suite.php
<?php
echo $_POST['Nom'];
echo "<br>";
echo $_POST['Prenom'];
?>


     ajax.js
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;
    }

     ajax_go.js
function verif_4()
    {
    // Préparation du message d'erreur
    message="Vous devez remplir le(s) champ(s) suivant(s) :\n\n";
    // Initialisation de la variable d'erreur
    erreur=0;
       
    // Vérification de la variable nom
    if (document.formulaire.nom.value=="")
        {
        // modification du message d'erreur
        message=message+"               - nom\n";
        // modification de la variable d'erreur
        erreur=1;
        }
       
    // Vérification de la variable prenom
    if (document.formulaire.prenom.value=="")
        {
        // modification du message d'erreur
        message=message+"               - prenom\n";
        // modification de la variable d'erreur
        erreur=1;
        }
       
    // Si une erreur a été détectée
    if (erreur==1)
        {
        // On affiche le message
        alert(message);
           
        // on renvoie les valeurs saisies par l'utilisateur pour lui éviter de resaisir les infos qu'il a déjà saisi
        xhr.open("POST","index.php",true);
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        nom=document.formulaire.nom.value;
        prenom=document.formulaire.prenom.value
        xhr.send("nom="+nom+"prenom"+prenom);
        }
       
    // Si il n'y a pas d'erreur, on charge suite.php dans le div info.    C'est donc ici que ça ne marche pas.
    if (erreur==0)
        {
        var xmlHttpReq = false;
        var self = this;
        // Mozilla/Safari
        if (window.xmlHttpRequest)
            {
            self.xmlHttpReq = new XMLHttpRequest();
            }
        // IE
        else if (window.ActiveXObject)
            {
            self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
            }
        self.xmlHttpReq.open('POST', 'suite.php', true);
        self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        self.xmlHttpReq.onreadystatechange = function()
            {
            if (self.xmlHttpReq.readyState == 4)
                {
                document.getElementById("info").innerHTML=(self.xmlHttpReq.responseText);
                }
            }
        nom=document.formulaire.nom.value;
        prenom=document.formulaire.prenom.value
        xhr.send("nom="+nom+"prenom"+prenom);
        }
    }


Si quelqu'un pouvait me renseigner sur mon erreur, ce serait super cool.
Merci d'avance pour vos réponses.

Sylvère

Malheur à qui me frôle, bonheur à qui me prend


Cette discussion est classée dans : erreur, formulaire, post, prenom, if


Répondre à ce message

Sujets en rapport avec ce message

Erreur internet explorer lors de post de formulaire [ par tetnobic ] Ma foi oui j'ai une erreur vraiment bizarre, j'explique :quand je poste un formulaire qui permet l'ajout de donnée dans une base j'ai eu belle erreur Erreur dans un script de formulaire [ par Sven78 ] Bonjour à toutes et à tous Google m'a conduit ici quand je lui ai demandé de l'aide sur la fonction $_POST qui semble me poser problème À la base c'e contact2 [ par nicomilville ] bonjour voici mon code ://Dans la ligne qui suit, remplacer webmaster@domaine.tld par l'adresse email du webmaster, à laquelle les messages devront êt authentification [ par ahlemlo ] bonjour à touspouvez vous me corriger l'erreur je veux bien vérifier le login et le password mai l'erreur est que losque je tape un login et un passwo If $_POST {} Erreur ? [ par belette321 ] Bonsoir, voilla je developpe un script mais je croi qu'il estincorrect alor j'aimerais avoir. je vous expose mon problemme ...Bon mon erreur est :Pars Affichage auto du nbr de jours dans un formulaire [ par Macintosh ] Bonjour ! Je suis un peu nul en PHP et j'ai réalisé un formulaire qui fonctionne très bien en "fusionnant" deux formulaires (1 pour l'envoi de messag Je suis désesperé [ par oliver26 ] Bonjour ici, J'ai posté un poste il y a quelques jours que je vais faire supprimer par les modérateurs (en espérant qu'ils m'en veuillent pas d'avoir problème de boucle for et d'organisation dans mon code php [ par msi079 ] salut . je voudrais utiliser la boucle for dans mon code pour enregistrer les données (les préjudices). voici ce que je veux : une personnes peut avoi [Problème] Requête insert into [ par Healiste ] Bonjour, voilà, j'ai un problème sur un projet en cours. Je dois créer une newsletter pour ma mairie. J'ai donc fait une page html avec formulaire sim


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,451 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales