Bonjour à tous.

J'essaie de créer une fonction qui me permettrait de mettre un délais d'exécution après un reload, afin que celui-ci puisse avoir le temps de modifier les variables <hidden> de la page appelante avant que la fonction soit finalisé.

Du genre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
function reload_drop()
buffer.location.replace("check_login.php...;
if (document.getElementById('may_sub').value == '1'){
  do_login;
  ...;
}
Le hic, c'est que la variable 'may_sub' est comparée, avant qu'elle soit modifié. J'ai donc fait ce fichier de test pour expérimenter la fonction check_state. Mon problème, c'est que j'ai un erreur JS "object required" au deuxième <input>.

Ce doit être con comme erreur, mais je ne trouve pas.

Quelqu'un peux m'aider?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
?>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<input type="hidden" id="test_val" value="0" />
<input type="button" id="btn" name="btn" value="start" onclick="javascript:check_state(document.getElementById('test_val').value, display())" /> 
<input type="button" id="btn1" name="btn1" value="change" onclick='change_state()' />
 
<script type="javascript">
//________________________________________________________
// Verify the state of a hidden tag and send the next 
// procedure when true, else, wait some time
//________________________________________________________
function check_state(variable, other_func){
if (variable){
other_func();
} else {
setTimeout('check_state()', 500);
} 
}
 
//________________________________________________________
//	Change the state of the hidden tag
//________________________________________________________
function change_state(){
document.getElementById('test_val').value = 1 ;
}
 
//________________________________________________________
//	Display when the state of the hidden tag has changed
//________________________________________________________
function display(){
alert('change made');
}
</script>
 
</body>
</html>