problème settimeout

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème settimeout

par Ajoloca » 14 déc. 2006, 01:30

Bonsoir,

J'ai pas testé, mais ceci devrait fonctionner (si j'ai bien compris ce que tu cherches à faire)
Fichier HTML
<html>
<head>
<script type="text/JavaScript" src="fonction.js"></script>
</head>
<body onload="chargeCodeForm()">
<div id="form"><form name="my_form" action="" method="">
Nom: <input type="text" name="nom">
Commentaire : <textarea name="txt_comm"></textarea>
<input type="button" value="Enregistrer" onClick="test('form')">
</form>
</div>
</body>
</html>
Le fichier JS

Code : Tout sélectionner

var ch; function chargeCodeForm(){ ch = document.getElementById('form').innerHTML; } function test(id){ document.getElementById(id).innerHTML='<img src="progress_loading.gif" alt="" /> Enregistrement de l\'élément.!'; setTimeout('test2()',4000); } function test2(){ document.getElementById('form').innerHTML=ch; }
EDIT : Tu peux simplifier ton code JS comme ceci

Code : Tout sélectionner

var ch; function chargeCodeForm(){ ch = document.getElementById('form').innerHTML; } function test(id){ document.getElementById(id).innerHTML='<img src="progress_loading.gif" alt="" /> Enregistrement de l\'élément.!'; setTimeout('document.getElementById("form").innerHTML=ch;',4000); }

par tomypunk » 13 déc. 2006, 22:33

oui oui
voila comment est structuré le HTML :

Code : Tout sélectionner

<html> <head> <script language="javascript" src="fonction.js"></script> </head> <body> <div id="form"><form> Nom: <input name="nom"> Commentaire : <textarea name="txt_comm"></textarea> <input type="button" value="Enregistrer" onClick="test('form')"> </form> </div> </body> </html>

par Ryle » 13 déc. 2006, 14:10

Et dans ton document, tu as bien un élément dont l'identifiant est id="form" ?

par tomypunk » 13 déc. 2006, 13:50

Dans la déclaration de ta fonction test2, il te faut spécifier qu'elle accepte un paramètre pour pouvoir le récupérer et l'utiliser :

Code : Tout sélectionner

function test2(ch){ document.getElementById("form").innerHTML=ch; }
:)
ouai mais meme en changant ça j'ai tjs la meme erreur :s

par Ryle » 13 déc. 2006, 13:13

Dans la déclaration de ta fonction test2, il te faut spécifier qu'elle accepte un paramètre pour pouvoir le récupérer et l'utiliser :

Code : Tout sélectionner

function test2(ch){ document.getElementById("form").innerHTML=ch; }
:)

problème settimeout

par tomypunk » 13 déc. 2006, 12:50

voila je commence tout juste en java script mais j'ai un problème avec setTimeout.

Voila ce que je fais:

Code : Tout sélectionner

function test(id){ var ch=document.getElementById(id).innerHTML; document.getElementById(id).innerHTML="<img src=\"progress_loading.gif\"> Enregistrement de l'élément."; setTimeout('test2('+ch+')',4000); } function test2(){ document.getElementById("form").innerHTML=ch; }
et rien ne se passe au bout de 4 seconde a par l'erreur XML tag name mismatch (expected input) qui apparait dans la console javascript

Merci d'avance pour votre aide
THOMAS