Prob avec le ajax.request

pwd75 -  
 bizu -
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";
}

}

?>

2 réponses

Lyrgard
 
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.
0
bizu
 
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:)
0