Changer le contenu d'un Input en Ajax

Changer le contenu d'un Input en Ajax - HTML/CSS - Programmation

Marsh Posté le 25-11-2008 à 22:13:29    

Bonjour,
Je cherche à changer le contenu de plusieurs input d'une form à chaque seconde sans recharger la page.
 
ex:

<form id="frm1" name="frm1" action="/test/index.php/graphic/view/1042" method="post">
<input id="val1" name="val1" value="---">
<input id="val2" name="val2" value="---">
<input id="val3" name="val3" value="---">
</form>


J'ai fait de nombreuses recherches, mais je n'ai trouvé aucun moyen de changer la valeur (value) des inputs...
 
Pouvez-vous me montrer comment y arriver?
Merci


Message édité par bluecandy le 25-11-2008 à 22:15:12
Reply

Marsh Posté le 25-11-2008 à 22:13:29   

Reply

Marsh Posté le 25-11-2008 à 23:42:06    

Tu veux dire mettre un décompte dans un bouton comme "Valider votre message" sur ce forum ?

Reply

Marsh Posté le 26-11-2008 à 00:17:35    

Non, je veux qu'à un intervalle régulier (ex: à chaque secondes), afficher une valeur contenue dans une DB sans rafraichair la page.
 
J'ai vu pleins d'exemples pour afficher la valeur dans un <div> mais aucun pour changer la value d'un <input>

Reply

Marsh Posté le 26-11-2008 à 09:45:20    

Heuu pourtant c'est plus simple de changer la valeur d'un input que d'un div :
 

Code :
  1. document.getElementById("val1" ).value = "nouvelle valeur";

Reply

Marsh Posté le 26-11-2008 à 12:02:38    

Voici le code javascript que j'ai utilisé pour modifier le <input> lors d'un submit.
 

Code :
  1. window.onload = function ()
  2. {
  3.     document.getElementById('view_form').onsubmit = function ()
  4.     {
  5.         change_value('val1','1042');
  6.         return false;
  7.     }
  8. }
  9. function change_value(input_name,view_id)
  10. {
  11.     var url1 = base_url+'graphic/ajax_value/'+view_id+'/'+input_name;
  12.     var myAjax = new Ajax.Request(url1,{method: 'get', onComplete: gestionReponse});
  13. }
  14. function gestionReponse(xhr)
  15. {
  16.     if (xhr.status == 200)
  17.     {
  18.         $('val1').value = xhr.responseText;
  19.     }
  20.     else
  21.     {
  22.         $('val1').value = xhr.status;
  23.     }
  24. }


 
Ça semble bien fonctionner...
Il me reste à l'activer à chaque secondes...

Reply

Marsh Posté le 26-11-2008 à 14:43:19    

Code :
  1. setTimeOut("function()",1000);


 
en premier paramètre, setTimeOut récupère la fonction à exécuter, et en second, le temps d'intervalle entre chaque exécution.
Ce temps est en ms => dans mon exemple, la fonction function() est exécutée toutes les 1000 ms soit toutes les secondes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed