Jump to content
Sign in to follow this  
aodot

Insertion dans bdd sans rechargement de page

Recommended Posts

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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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".

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...