[AJAX] Modifier un champ par clic
Bonjour,
J'ai un tableau, et j'aimerai pouvoir modifier la colonne "Quantité" en cliquant dessus puis en modifier la valeur et en enregistrant la modification dans ma BDD.
Le problème c'est que ma fonction "modif" n'est pas reconnue... Erreur de firebug quand je clique sur une quantité : "modif is not defined"
Extrait de "fonctions.js" :
Code:
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
| function modif(id, element, champ, table) {
var saisie = document.createElement("input");
saisie.value = element.firstChild.data;
saisie.style.width = "100px";
element.replaceChild(saisie, element.firstChild);
saisie.focus();
saisie.select();
saisie.onblur = function() {
sauver(id, element, champ, saisie.value, table);
}
}
function sauver(id, element, champ, valeur, table) {
new Ajax.Request
( "modifier.php",
{
method: 'get',
parameters: {id: id, champ: champ, valeur: valeur, table: table},
onComplete: function(requete)
{
element.innerHTML = requete.responseText;
}
}
)
} |
Mon tableau (c'est ici que ca coince je pense) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $tab .= "<tr height='200'>
<td>$film->NUMFILM</td>
<td width='100' onClick=\"zoom('".$film->IMAGE."', '".htmlentities(addslashes($film->TITRE), ENT_QUOTES)."');\">
<img src=\"".$film->IMAGE."\" alt=' ' class='photo' /></td>
<td>".htmlentities($film->TITRE, ENT_QUOTES)."</td>
<td>".htmlentities($film->REALISATEUR, ENT_QUOTES)."</td>
<td>$film->ANNEE</td>
<td>".htmlentities($film->GENRE, ENT_QUOTES)."</td>
<td>$film->DUREE</td>
<td onclick=\"modif($film->NUMFILM, this, 'QTE', 'film')\">$film->QTE</td>
</tr>"; |
Et le fichier "modifier.php" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?PHP
require ("connexion.php");
require ("Connect.php");
require("fonctions.js");
$connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
mysql_select_db (BASE, $connexion);
extract($_GET);
$req="UPDATE film SET $champ='$valeur' WHERE QTE='$id'; ";
$ok=mysql_query($req);
if ($ok)
echo $valeur;
?> |
Merci de votre aide!