Aller au contenu

Insertion dans bdd sans rechargement de page


aodot

Sujets conseillés

Bonjour à tous,

J'ai un petit problème en Ajax, je souhaite pouvoir insérer des infos dans une base de données sans recharger la page.

Le script fonctionne pour une formulaire cependant il le fonctionne plus quand je désire insérer plusieurs formulaire.

Voici ce que j'insére entre les balises <head> :

<script type="text/javascript" src="ajax/XHRConnection.js"></script>
<script type="text/javascript">
var production_remplirChamp = function (production_obj)
{
document.getElementById('production_contenu').innerHTML = production_obj.responseText;
document.getElementById('production_formPost').reset()
}

function production_sendData(production_data, production_value, production_page, production_method)
{
var production_XHR = new XHRConnection();
production_XHR.appendData(production_data, production_value);
production_XHR.sendAndLoad(production_page, production_method, production_remplirChamp);
}//fin fonction SendData
</script>

Et voici le formulaire :

<form method="post" name="production_formPost" id="production_formPost">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150" valign="top"><input type="text" name="production_nom" onblur="self.status=Math.random()" onfocus="ajax_showOptions(this,'getCountriesByLetters',event)" onkeyup="ajax_showOptions(this,'getCountriesByLetters',event)" autocomplete="off" />
<?PHP
$type="production";
?></td>
<td width="10" valign="top"> </td>
<td valign="top"><a href="javascript:production_sendData('production_nom', document.production_formPost.production_nom.value, 'ajax/production_post.php?type=<?PHP echo $type; ?>&id=<?PHP echo $id; ?>', 'POST')"><img src="img/plus.png" /></a></td>
<td> </td>
</tr>
</table>


</form>

J'affiche ensuite cela :

<div id="production_contenu">J'affiche ici les résultats de la bdd via une boucle while. Un lien supprimé est mis en place :

a href="javascript:production_sendData('production_nom', document.production_formPost.production_nom.value, 'ajax/production_post_del.php?id_mc=<?PHP echo "$data2[id]"; ?>&id=<?PHP echo $id; ?>&type=<?PHP echo $type; ?>', 'POST')">[x]</a>

</div>

Donc pour insérer un second formulaire je renomme toutes les variables (débutant par production), dans le head et dans la body, par un autre mot par exemple présentateur mais cela ne fonctionne pas (je n'ai pas de messages d'erreur).

Pouvez m'éclairer un peu s'il vous plait ? IL y a t il une ligne qu'il ne faut pas répéter même si on change le nom de la varible.

J'espère avoir été assez précis dans mon explication.

Merci par avance.

Aymeric

Lien vers le commentaire
Partager sur d’autres sites

Si tu veux placer plusieurs fois le même formulaire dans la même page, il va te falloir utiliser des ID différents pour tes objets de formulaire, tu ne pourras pas simplement faire des copier/coller de ton formulaire en l'état.

Si tu veux les copier/coller, tu peux usurper l'usage des styles css et rechercher dans le formulaire soumis le champs qui est concerné par tes traitements par son style.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour et merci pour votre réponse.

Les id de formulaire sont bien différents : le premier est id="production_formPost" et le second est id="presentateur_formPost".

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...