Bonjour à tous,

Je rencontre un problème sous IE 7 et sous Firefox cela focntionne.

Je m'explique
Sur ma page j'ai un bouton sur lequel j'exécute une requete Ajax. Le résultat m'est retourné dans un div.

Sur la page chargée j'ai un formulaire, et au clic sur un élément du formulaire je souhaite executer une fonction que je déclare dans cette même page.

Cela fonctionne sous Firefox mais non sur IE ?
Ou est le problème d'après vous?

Page 1
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>testAjax</title>
 
 
<script type='text/javascript'>
 function getXMLHTTP(){
      var xhr=null;
      if(window.XMLHttpRequest) // Firefox et autres
      xhr = new XMLHttpRequest();
      else if(window.ActiveXObject){ // Internet Explorer
        try {
          xhr = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
          try {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (e1) {
            xhr = null;
          }
        }
      }
      else { // XMLHttpRequest non supporté par le navigateur
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
      }
      return xhr;
    }
 
    function callUpadeScripts() {
      var _xmlHttp = getXMLHTTP();
      _xmlHttp.open("GET","requete.php");
      _xmlHttp.onreadystatechange=function() {
        if(_xmlHttp.readyState==4&&_xmlHttp.responseText) {
 
          document.getElementById('contenu').innerHTML=_xmlHttp.responseText;
          evalueScripts('contenu');
        }
      };
      // envoi de la requête
      _xmlHttp.send(null)
    }
 
    function callUpadeNoScripts() {
      var _xmlHttp = getXMLHTTP();
      _xmlHttp.open("GET","requete.php");
      _xmlHttp.onreadystatechange=function() {
        if(_xmlHttp.readyState==4&&_xmlHttp.responseText) {
          document.getElementById('contenu').innerHTML=_xmlHttp.responseText;
        }
      };
      // envoi de la requête
      _xmlHttp.send(null)
    }
 
    function evalueScripts(targetId) {
      var mesScripts = document.getElementById(targetId).getElementsByTagName("script");
      for (var i=0; i<mesScripts.length; i++) {
              window.eval(mesScripts[i].innerHTML);
      }
    }
  </script>
</head>
<body>
<div id="bouton">
Div Déclencheur
 <br />
 <label>
    <input type="button" name="appel" value="Appel Sans Interpretation JS" id="appel" onclick="callUpadeNoScripts();"/>
 </label>
 <br />
 <label>
    <input type="button" name="appel2" value="Appel Avec Interpretation JS" id="appel" onclick="callUpadeScripts();"/>
 </label>
</div>
<br />
<div id="contenu">Div Récepteur</div>
 
</body>
</html>
Page chargée par Ajax
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
 
<script type='text/javascript'>
    variable =  function dateJour(valeur){
         alert(valeur);
     }
 
</script>
 
<form action="#" name="formulaire">
  <label>
    <input type="radio" name="radiobutton" value="radiobutton" onclick="variable(this.value);" /> Case Radio
  </label>
  <br />
  <label>
    <input type="checkbox" name="transport" value="voiture" id="voiture" onclick="variable(this.value);"/>Case Voiture
  </label>
</form>