2010-10-14 2 views
0

J'ai ce JS qui obtient une réponse XML d'un service, c'est un vrai ou un faux, eh bien le script doit attraper le soumettre et obtenir la réponse de le service. Le problème est que je vois que cela ne fonctionne pas parce que quand je fais le soumettre, je vois la réponse XML sur IE (6/7/8), quand le script aurait dû l'attraper et validé la réponse XML.Javascript - Prototype: Event.observe sur un formulaire ne fonctionne pas pour IE

<div id="eventForm" style="display:none;"> 
    Event.observe('formDataPersonal', 'submit', function(event) { 
    $('formDataPersonal').request({ 
     onSuccess: function(t) { 
      var xml = t.responseXML.documentElement; 
      var stateNode = ''; 
      var msgNode = ''; 
      if (navigator.appName == "Microsoft Internet Explorer"){ 
       stateNode = xml.childNodes[0].nodeValue.toLowerCase(); 
       msgNode = xml.childNodes[1].nodeValue; 
      }else{ 
       stateNode = xml.childNodes[0].textContent.toLowerCase(); 
       msgNode = xml.childNodes[1].textContent; 
      } 
      if (stateNode == 'true'){ 
       $('transparentDiv').style.display='none'; 
       $('popup').style.display='none'; 
       validateIntegrationPopup(); 
      }else{ 
       var error = msgNode; 
       if (error != ''){ 
        $('interfase').innerHTML = error; 
       } 
      } 
     } 
    }) 
    }); 
</div> 

Je serais reconnaissant pour l'aide.

+0

Définissez-vous contentType comme texte/xml? –

+0

Comment faire cela? – BoDiE2003

Répondre

1

C'est une vieille question, mais j'ai réussi Pour l'obtenir comme deuxième résultat dans une recherche Google, donc:

Vous n'empêchez pas l'événement submit de passer par le navigateur, ce qui explique pourquoi le formulaire est soumis même si le gestionnaire d'événements s'y rattache. Ajouter dans un event.stop():

<div id="eventForm" style="display:none;"> 
    Event.observe('formDataPersonal', 'submit', function(event) { 
     event.stop(); 
     $('formDataPersonal').request({ 
      // .... code .... 
     }); 
    }); 
</div> 
Questions connexes