Problème avec 2 fonctions dans Ajax

yoyotheboss7 Messages postés 9 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 21 septembre 2007 - 19 juil. 2007 à 12:43
pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 - 24 juil. 2007 à 09:23
Bonjour à tous !

J'ai un script ajaxqui marche. Il me permet d'afficher une page php dans une div et agir sur cette page. Cependant, je cherche à ouvrir une deuxième page php dans une autre div.
L'appel de la première page se fait par la fonction sendDataa() et affiche reponse2.php dans la div "doc".
L'appel de la deuxième page se fait par la fonction sendDataae() et affiche reponse3.php dans la div "doce".

Quand je les appel séparement, elle marche nikel. Mais elle ne marche en même temps. Comment faire en sorte que ca marche ?

Voici mon script
<SCRIPT LANGUAGE='Javascript'>

var request;
var queryString;

function poster(sam) {    if(document.sam.sexe.value ""  || document.sam.prenom.value ""  ||  document.sam.date.value == "")
    {
    document.getElementById("doc3").innerHTML="<?php echo $mercide; ?>";
    }
    else if (isNaN(document.sam.date.value))
    {
    document.getElementById("doc3").innerHTML="<?php echo $mercidea; ?>";
    }
    else if (document.sam.date.value.length>4)
    {
    document.getElementById("doc3").innerHTML="<?php echo $mercidea; ?>";
    }
    else if (document.sam.date.value.length<4)
    {
    document.getElementById("doc3").innerHTML="<?php echo $mercidea; ?>";
    }
    else
    {
    sendData(sam);
        document.getElementById("doc3").innerHTML="";

    }

}

function handleResponse(  ){
    if(request.readyState == 4){
        if(request.status == 200){
            document.getElementById("doc").innerHTML=request.responseText;
        } else {
            alert("probleme de page, c pas le bon lien... ");
        }
    }
}

function setQueryString(  ){
    queryString="";
 
var frm = document.forms[0];
    var numberElements =  frm.elements.length;
    for(var i = 0; i < numberElements; i++) {
        if(i < numberElements-1) {
            queryString += frm.elements[i].name+"="+
                           encodeURIComponent(frm.elements[i].value)+"&";
        } else {
            queryString += frm.elements[i].name+"="+
                           encodeURIComponent(frm.elements[i].value);
        }

    }

}
function setQueryStringe(  ){
    queryString="";
 
var frm = document.forms[0];
    var numberElements =  frm.elements.length;
    for(var i = 0; i < numberElements; i++) {
        if(i < numberElements-1) {
            queryString += frm.elements[i].name+"="+
                           encodeURIComponent(frm.elements[i].value)+"&";
        } else {
            queryString += frm.elements[i].name+"="+
                           encodeURIComponent(frm.elements[i].value);
        }

    }

}

function httpRequest (reqType, url, isAsynch) {

   
   
    // Navigateurs basés sur Gecko...
    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest ();
    }
   
    // ... et Internet Explorer.
    else if (window.ActiveXObject) {
        request = new ActiveXObject('Msxml2.XMLHTTP');
       
        if (!request) {
            request = new ActiveXObject('Microsoft.XMLHTTP');
        }
    }
   
    // On vérifie si la requête n'est pas nulle dans le cas où aucun ActiveXObject  n'aurait été initialisé.
    if (request) {
   
        // Si le paramètre reqType est POST, alors le cinquième argument  de la fonction correspond aux données POSTées.
        if (reqType.toLowerCase() != 'post')  {
            initReq(reqType, url, asynch, respHandle);
        }
       
        else {
        // les données POSTées.
        var args = arguments[4];
       
            if (args != null && args.length > 0)  {
                initReq(reqType, url, asynch, respHandle, args);
            }
        }
    }
   
    else {
        alert ('httpRequest()\n\n Votre navigateur ne permet pas l\'utilisation\n de toutes les fonctionnalités de cette application.');
    }
      request.onreadystatechange=handleResponse;
    request.open(reqType,url,isAsynch);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    request.send(queryString);
}
function sendDataa(){
    setQueryString(  );
    var url="reponse2.php";
    httpRequest("POST",url,true);
}

function handleResponsee(  ){
    if(request.readyState == 4){
        if(request.status == 200){
            document.getElementById("doce").innerHTML=request.responseText;
        } else {
            alert("probleme de page, c pas le bon lien... ");
        }
    }
}

function httpRequeste (reqType, url, isAsynch) {  
    // Navigateurs basés sur Gecko...
    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest ();
    }
   
    // ... et Internet Explorer.
    else if (window.ActiveXObject) {
        request = new ActiveXObject('Msxml2.XMLHTTP');
       
        if (!request) {
            request = new ActiveXObject('Microsoft.XMLHTTP');
        }
    }
   
    // On vérifie si la requête n'est pas nulle dans le cas où aucun ActiveXObject  n'aurait été initialisé.
    if (request) {
   
        // Si le paramètre reqType est POST, alors le cinquième argument  de la fonction correspond aux données POSTées.
        if (reqType.toLowerCase() != 'post')  {
            initReq(reqType, url, asynch, respHandle);
        }
       
        else {
        // les données POSTées.
        var args = arguments[4];
       
            if (args != null && args.length > 0)  {
                initReq(reqType, url, asynch, respHandle, args);
            }
        }
    }
   
    else {
        alert ('httpRequest()\n\n Votre navigateur ne permet pas l\'utilisation\n de toutes les fonctionnalités de cette application.');
    }
      request.onreadystatechange=handleResponsee;
    request.open(reqType,url,isAsynch);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    request.send(queryString);
}

function sendDataae(){
    setQueryStringe(  );
    var url="reponse3.php";
    httpRequeste("POST",url,true);
}

function de() {
sendDataae()
sendDataa()
}
</script>

Merci d'avance pour votre aide !!!
yoyo

5 réponses

yoyotheboss7 Messages postés 9 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 21 septembre 2007
19 juil. 2007 à 18:42
Peronne ne peut m'aider ?

yoyo
0
pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 8
23 juil. 2007 à 15:47
J'ai pas trop compris ton problème de "en même temps'.......

Sinon j'ai pas vu d'érreures flagrantes en survolant....

Slu!
0
pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 8
23 juil. 2007 à 15:47
J'ai pas trop compris ton problème de "en même temps'.......

Sinon j'ai pas vu d'érreures flagrantes en survolant....

Slu!
0
yoyotheboss7 Messages postés 9 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 21 septembre 2007
23 juil. 2007 à 22:52
Le "en même temps" signifie afficher les 2 pages dans les 2 div dans la même page, soit 2 fonctions en même temps.
Pour les différentes erreures, je suis ouvert à toutes aides...Je suis vraiment débutant en javascript...
Merci pour ton aide !

yoyo
0

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

Posez votre question
pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 8
24 juil. 2007 à 09:23
...alors ben j'ai deux conseils à te donner.... pas d'idées concrètes pour ton problème, mais elles permettent peut-être de trouver ce qui cloche...

1 - Est-ce-que tu à un débugueur Javascript???? Si 'non' installer firefox avec les deux extentions suivantes:
<li>https://addons.mozilla.org/fr/firefox/addon/1843 <- firebug! Exélente extention pour le débugage! à avoir en tant que développeur JS ^^</li><li>https://addons.mozilla.org/fr/firefox/addon/60 <- Webdevelopperbar : aussi hyper utile!</li>2 - passe à un framework JS (mootools / prototype / Dojo)... ça permet peut-être pas de tout programmer sois même, mais on se décourage moin vite; tout le "bins" de XHTTPRequest etc (ainsi que les retours d'érreurs [très important] ) sont déjà règlés...

Mon conseil perso: Mootools http://mootools.net/ ainsi que sa doc hyper bien faite: http://docs.mootools.net/

;) bonne chance, hésite pas me demander si t'a besoin d'un coup de pate ^^

<hr size="2" width="100%" />
Developpement Web Yannic GraphiX | Mon CMS yArt et ça démo
---> Google est ton meilleur ami! <---
<hr size="2" width="100%" />
0
Rejoignez-nous