Rechercher : dans
Par :

Prob avec le ajax.request

Dernière réponse le 15 avr 2009 à 12:03:20 pwd75, le 9 jun 2008 à 14:57:46 
 Signaler ce message aux modérateurs

Bonjour,

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.

Voici le code source de ma function ajax:

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]; ?>';
}

}

});

}


voici le code source de ma page php

<?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";
}

}


?>

Configuration: Windows XP
Firefox 2.0.0.14

1

Lyrgard, le 11 jui 2008 à 15:48:49

Tu n'aurais pas oublié d'inclure un fichier javascript, genre prototype.js (ou autre framework ajax) ? Ou si tu l'as fait, es-tu sûr du chemin d'accès ?

ajax is not defined veut dire qu'il n'a pas trouvé la définition de l'objet ajax.

Répondre à Lyrgard

2

 bizu, le 15 avr 2009 à 12:03:20

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);
essaie avec old:)

Répondre à bizu