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

Bibliothèques & Frameworks Discussion :

Problème avec le Ajax.request [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 89
    Points : 45
    Points
    45
    Par défaut Problème avec le Ajax.request
    Bjr ,

    je souhaite mettre a jour une page internet en lançant une requete à ma base de donnée, sans passer par le php, mais via Ajax.
    Car en passant par le PHP, toute ma page est rechanger, or je souhaite actualiser uniquement mon textarea concerné.

    Que dois-je faire ?

    D'autre part, lorsque je fais le test, la console d'erreur de Firefox me dit que ma fonction ajax is not defined , pk ?

    merci d'avance, pour vos aide.

  2. #2
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Bonjour ,

    Il faut que tu passe par une requete ajax , qui je le rapelle se contente de chopper le contenu d'une page (ici une page php par exemple ).

    Une fois le contenu récupéré tu pourra remplacer le contenu de ton div ou textarea.

    Par contre sans ton code source , dur de t'aider plus ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Oui dsl, voici le code source de ma function ajax

    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
    function ajax_modify(){
     
    //Insertion de div dans les td du tableau afin d'en modifier
    var elttrad='divtrad_'+ id;
    var eltAction='tradAction_'+ id;
    var eltStatut='tradStatut_'+ id;
    var eltDate='tradDate_'+ id;
    var eltUser='tradUser_'+ id;
     
    var container = $(elttrad); //On sélectionne le div qu'on veut éditer
    var oldContent = $(elttrad).innerHTML; //On recupere le contenu de la string avant edition
     
    var formEdit = new Element ('textarea', {}).update(odlContent);
    var newContent = FormContent1.value //On recupere le nouveau contenu
     
    var updater = new Ajax.Request('test_mod.php'+getValues,
    {
    method: 'post',
    parameters:{submit_modify:1, IDmodify:id, input_mod_trad:$F('input_mod_trad')},
     
    onSuccess: function(transport){
     
    if (transport.responseText=='OK'){
     
    document.getElementById(elttrad).innerHTML = $F('input_mod_trad');
    document.getElementById(eltAction).innerHTML ='<form action=\"<?php echo $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']; ?>\" method=\"POST\" name=\"formreview_'+ id +'\"><input type=\"hidden\" name=\"IDreview\" value=\"'+ id +'\" ><a href=\"javascript:document.formreview_'+ id +'.submit();\" title=\"validate\"><img src=\"img/validate.gif\" /></a></form><a href=\"javascript:form_modify('+ id +');\" id=\"btmodify_'+ id +'\" title=\"modify\"><img src=\"img/edit.gif\" /></a>';
    document.getElementById(eltStatut).innerHTML ='To review';
    document.getElementById(eltDate).innerHTML = '<?php echo date('m/d/Y'); ?>
    document.getElementById(eltUser).innerHTML = '<?php echo $donnees[0]; ?>'; 
    }
     
    }
     
    });
     
    }
    ici le contenu de ma page 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
    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
    <?php
     
    session_start();
    require("config.php");
     
    if(isset($_POST['submit_modify'])){
     
    $ID_String = $_POST['IDmodify'];
    $ID_Lang = $_GET['lang'];
    $User = $_SESSION['ID_USER'];
    $Text = $_POST['input_mod_trad'];
     
     
    $check_trad = mysql_query("SELECT count(ID_String) AS Total, Statuts FROM trad_traductions 
    WHERE ID_String = '".$ID_String."' AND ID_Lang = '".$ID_Lang."' GROUP BY ID_String");
     
    $row_check = mysql_fetch_object($check_trad);
     
    if($row_check->Total != 0) {
     
    $nickname = $_SESSION['NICKNAME'];
     
    $Date_Now = date("Y-m-d H:i");
     
                            
                            $mod_trad = mysql_query("UPDATE trad_traductions SET Text = '".$Text."', Statuts = '1', Modification = '".$User."', Date_Modification = '".                    $Date_Now."', Review = '0', Date_Review = '0000-00-00 00:00'
                            WHERE ID_String = '".$ID_String."'
                            AND ID_Lang = '".$ID_Lang."'");
                            
                            if ($mod_trad != false){
                            
                                    echo "OK";
                                    echo $nickname;
                                    
                                    }else{
                                            echo "ERREUR DE LA REQUETE";
                                    }
                                             
     
    }else{
     
            echo "Translation doesn't exist";
    }
     
    }
     
     
    ?>

  4. #4
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Tu utilises un frameworkd javascript comme mootools , jquery , dojo ou autre ?

    Si oui faudrais préciser , sinon c'est pas etonnant que sa marche pas ...

    En effet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var updater = new Ajax.Request('test_mod.php'+getValues,
    {
    method: 'post',
    //...
    Ajax est un objet qui n'est pas connu de base par les navigateurs web mais souvent defini par une des librairie javascript cité ci dessus qu'il faut ajouter a ton site avant ton code (pour definir les objets comme ajax...).

    Si tu ne souhaite pas inclure de librairie sur ton site , je te conseil de lire les tutoriels de developpez.com sur ajax et de voir comment il crée un objet XHR pour les différents navigateurs.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Oui j'utilise un framework le: prototype.js que j'ai ajouté à mon site

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
     
    <script language="Javascript" type="text/javascript" src="prototype.js"></script>

  6. #6
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Oki , alors si tu utilise prototype plusieurs choses :

    - Utilise $('id') plutot que document.getElementById
    - Soit plus propre dans ton code :

    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
     
    var url = 'http://url.com';
    var pars = 'empID=' + empID + '&year=' + y; // tes parametre
     
    var myAjax = new Ajax.Request(
    	url, 
    	{
    		method: 'get', 
    		parameters: pars, 
    		onComplete: showResponse
    	});
     
    function showResponse(ajax)
    {
    	//traitement du resultat par exemple ...
    	$('result').value = ajax.responseText;
    }
    Par contre j'ai pas le temps de regarder plus en details ton code pour le moment (notamment la partie php ...) . Mais je pense que le site ici :

    http://www.sergiopereira.com/articles/prototype.js.html

    t'aidera beaucoup.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Je te remercie deja pour l'aide que tu m'a apportée

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

Discussions similaires

  1. [Liferay] [Struts 2 / Ajax] Problème avec portlet Ajax dans Liferay
    Par franco9 dans le forum Portails
    Réponses: 1
    Dernier message: 12/07/2012, 18h38
  2. Réponses: 25
    Dernier message: 30/03/2012, 23h09
  3. Probléme avec le scope request
    Par Esil2008 dans le forum JSF
    Réponses: 8
    Dernier message: 19/02/2010, 18h09
  4. [AJAX] Affichage résultat ajax.request quand load page
    Par marcolet.pierre dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/01/2008, 16h27
  5. Problème avec la méthode request.form()
    Par sam.fet dans le forum ASP
    Réponses: 2
    Dernier message: 11/08/2006, 17h11

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