Corrections messages pour réinitialisation de mot de passe.
[Plinn.git] / skins / ajax_scripts / ajax_form_manager.js
index 8b51b2e..8bbd4e7 100644 (file)
@@ -391,19 +391,30 @@ FormManager.prototype.loadResponse = function(req) {
                                        return;
                                }
                                var fragments = req.responseXML.documentElement.childNodes;
                                        return;
                                }
                                var fragments = req.responseXML.documentElement.childNodes;
-                               var fragment, dest;
-                               var i;
-                               for (i=0 ; i<fragments.length ; i++) {
-                                       fragment = fragments[i];
-                                       if (fragment.nodeName === 'fragment') {
-                                               dest = document.getElementById(fragment.getAttribute('id'));
-                                               dest.innerHTML = fragment.firstChild.nodeValue;
-                       
-                                               scripts = dest.getElementsByTagName('script');
-                                               var j;
-                                               for (j=0 ; j < scripts.length ; j++) {
-                                                       globalScriptRegistry.loadScript(scripts[j]);
-                                               }
+                               var element, dest, i, j;
+                               for (i=0 ; i < fragments.length ; i++) {
+                                       element = fragments[i];
+                                       switch (element.nodeName) {
+                                               case 'fragment' :
+                                                       dest = document.getElementById(element.getAttribute('id'));
+                                                       if(dest) {
+                                                               dest.innerHTML = element.firstChild.nodeValue;
+                                                               scripts = dest.getElementsByTagName('script');
+                                                               for (j=0 ; j < scripts.length ; j++) {
+                                                                       globalScriptRegistry.loadScript(scripts[j]); }
+                                                       }
+                                                       break;
+                                               case 'base' :
+                                                       var headBase = document.getElementsByTagName('base');
+                                                       if (headBase.length > 0) {
+                                                               headBase[0].setAttribute('href', element.getAttribute('href'));
+                                                       }
+                                                       else {
+                                                               headBase = document.createElement('base');
+                                                               headBase.setAttribute('href', element.getAttribute('href'));
+                                                               document.head.appendChild(headBase);
+                                                       }
+                                                       break;
                                        }
                                }
                                break;
                                        }
                                }
                                break;
@@ -424,7 +435,8 @@ FormManager.prototype.loadResponse = function(req) {
        var onAfterPopulate = this.onAfterPopulate;
        onAfterPopulate();
        this.scrollToPortalMessage();
        var onAfterPopulate = this.onAfterPopulate;
        onAfterPopulate();
        this.scrollToPortalMessage();
-       history.pushState(absolute_url(), document.title, absolute_url());
+       var url = this.form.action;
+       history.pushState(url, document.title, url);
 };
 
 FormManager.prototype.scrollToPortalMessage = function() {
 };
 
 FormManager.prototype.scrollToPortalMessage = function() {