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

AJAX Discussion :

[AJAX] Envoie de données récupérées par une fonction javascript


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 54
    Par défaut [AJAX] Envoie de données récupérées par une fonction javascript
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    //variables (que j'ai enlevées là)
    window.onload = function(){
    	cpt=1;
    	mesTD=document.getElementsByTagName("td"); 
    	for(i in mesTD)
    	{
    		mesTD[i].onclick=function(){clicTD(this);}
    	}
    }
    
    // retourne un objet xmlHttpRequest.
    // méthode compatible entre tous les navigateurs (IE/Firefox/Opera)
    function getXMLHTTP()
    {
    	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)
    		{
    			try
    			{
    				xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    	                          catch(e1)
    		             {
    			             xhr = null;
    		             }
    	             }
                 }
    	else
    	{ // XMLHttpRequest non supporté par le navigateur
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    	}
    
    	return xhr;
    }
    	
    function clicTD(zis)
    {
           //traitement de l'échange de cellules qui marche tres bien
    }	
    function exploiter()
    {
    //affiche le résultat position1 / val 1 et position 2 / val 2 dans un div du html
    }
    
    sauvegarder (// mes variables pos1/val1 pos2/val2);
    	
    //Objet XMLHTTPRequest
    var XHR = null;
    		
    function sauvegarder(pos1, val1, pos2, val2)
    {
    		
    	//Si l'objet existe déjà on abandonne la requête et on le supprime
    	if(XHR && XHR.readyState != 0)
    	{
    		XHR.abort();
    		delete XHR;
    	}
    
    	//Création de l'objet XMLHTTPRequest
    	XHR = getXMLHTTP();
    	if(!XHR)
    	{
    		alert('Abandon : Impossible de créer une instance XMLHTTP')
    		return false;
    	}
    	XHR.onreadystatechange = function()
    	{			
    		//Si le chargement est terminé
    		if (XHR.readyState == 4 && XHR.status == 200)
    		{
    // Je dois mettre quoi là ?
    			alert(XHR.responseText)
    		}
    	}
    	//URL du script de sauvegarde auquel on passe la valeur à modifier
    	var url = "edt_save.php";
    	XHR.open("POST", url, true);
    	XHR.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    
    	var data = "pos1=" + pos1 + "&val1=" + val1 + "&pos2=" + pos2 + "&val2" + val2;
    			
    	//Envoi de la requête
    	XHR.send(data);
    	alert (data);
    }
    Je suis un peu perdu.... J'ai de gros problème de "logique", j'ai encore du mal avec AJAX hehe.
    Je ne reçois aucun alert, et les données ne sont pas envoyées.

    Merci !

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Attention, petit oubli dans ta chaine de parametres :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // il manquait un "égal"
    var data = "pos1=" + pos1 + "&val1=" + val1 + "&pos2=" + pos2 + "&val2=" + val2;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 54
    Par défaut
    En effet, j'ai corrigé mais l'erreur ne venait pas de là...

    J'ai simplement placé le sauvegarder(//variables) dans la fonction clicTD et ça a enfin été pris en compte.

    Je ne comprends pas pourquoi ça ne marche pas si je le mets en dehors...
    Je mets résolu en espérant malgré tout une explication

    P-S: Et aussi répondre à la question "je dois mettre quoi ici ?" dans le [code] du 1er post :p

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/04/2013, 17h15
  2. Réponses: 1
    Dernier message: 03/02/2010, 14h17
  3. Envoyer une valeur génerée par une fonction javascript
    Par karimphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/12/2006, 18h44
  4. Réponses: 2
    Dernier message: 08/10/2006, 11h44

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