Toam | Salut,
J'ai passé mon aprèm à me casser la tête sur un truc que j'arrive toujours pas à faire...
En gros je souhaiterais sauvegarder en direct un formulaire dans ma base de données. Dans mon exemple, j'ai un champ select et je voudrais stocker à chaque changement de sa valeur sans recharger la page. J'ai essayé plusieurs pistes et je n'y arrive toujours pas...
Ma dernière piste est de tenter d'utiliser une page qui fait uniquement l'enregistrement. Ensuite j'appel cette page par la fonction open du javacript.
Mon problème c'est que ça marche avec le bouton Valider, mais pas sans rien faire (avec l'événement onchange du select). Pour l'évènement onchange, j'ai essayer d'appeler la fonction submit() ou d'appeler la fonction maFonctionAjax() sans succès
Auriez vous des idées? Merci d'avance
Le script
Code :
- <script type="text/javascript">
- function maFonctionAjax(id,tableSQL,champ,valeur)
- {
- var OAjax;
- if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
- else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');
- OAjax.open('POST',"requete.php",true);
- OAjax.onreadystatechange = function()
- {
- if (OAjax.readyState == 4 && OAjax.status==200)
- {
- if (document.getElementById)
- {
- if (OAjax.responseText =='true') { /* OK */
- document.getElementById('msg').innerHTML='<font color=GREEN>'+OAjax.responseText+'</font>';
- }else{ /* PAS OK */
- document.getElementById('msg').innerHTML='<font color=RED>'+OAjax.responseText+'</font>';
- }
- }
- }
- }
- OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
- OAjax.send('&id='+id+'&tableSQL='+tableSQL+'&champ='+champ+'&valeur='+valeur);
- }
- </script>
|
Et ma page HTML
Code :
- <form action="" method="post" onsubmit="maFonctionAjax(this.id.value,this.tableSQL.value,this.champ.value,this.valeur.value);return false">
- <b><u>Actions</u></b><br /><br />
- <label class="evaluation"><?php echo $label ?></label>
- <input type="text" name="" value="Toujours" style="width:100px;" disabled="disabled"/>
- <select name="valeur" style="width:100px;" onchange="submit()">
- <option value=""></option>
- <option value="Toujours">Toujours</option>
- <option value="Parfois">Parfois</option>
- <option value="Jamais">Jamais</option>
- </select>
- <input type="radio" name=""/>
- <input type="radio" name=""/>
- <input type="radio" name=""/>
- <div ></div>
- <br style="clear:left; "/><br/>
- <input type="hidden" name="tableSQL" value="<?php echo $tableSQL ?>" />
- <input type="hidden" name="champ" value="<?php echo $champ ?>" />
- <input type="hidden" name="id" value="1" />
- <button type="submit">Valider</button>
- <div id="msg"></div>
- </form>
|
|