11548 sujets

JavaScript, DOM et API Web HTML5

Voici un script qui fonctionne très bien sous FF2 et 3, en utilisant Ajax à partir du framework Prototype :


   1. <script type="text/javascript">
   2.
   3. Event.observe(window, 'keyup', init, false);
   4.
   5. function init(){
   6.      Event.observe('codepostal', 'keyup', complete_select(), false);
   7. }
   8.
   9. function complete_select(){
  10.      var url = 'php/complete_select.php';
  11.      var pars = 'codepostal='+escape($F('codepostal'));
  12.      var target = 'champville';
  13.      var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars});
  14. }
  15.
  16.
  17. </script>
  18.
  19. ...
  20.
  21. <div class="titre">Code postal</div>
  22. <div class="champ"><input class="inputtext" type="text" name="codepostal" id="codepostal" size="5" /></div>
  23.
  24. <div class="titre">Ville</div>
  25. <div class="champ" id="champville"><select name="ville"><option value="">Indiquer un code postal</option></select></div>




Sauf qu'au lieu de fonctionner, sous IE6, il m'affiche une erreur JS, et sous IE7, rien ne se passe.

Après insertion d'un :

   1. alert("plop" );




Dans la fonction complete_select(), on s'aperçoit que celle-ci n'est pas appelée sous IE (alors qu'elle l'est sous FF). Une idée ?

Edit : la fonction init() n'est pas appelée non plus.
Modifié par Skualys (26 Jun 2009 - 15:43)