X-Git-Url: https://svn.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/08a12c7d87614be8332e8bb81532f0e5a2ce36db..fdb6f4e9ae1d1933e56c76b141fac14ac235960d:/skins/ajax_scripts/ajax_form_manager.js

diff --git a/skins/ajax_scripts/ajax_form_manager.js b/skins/ajax_scripts/ajax_form_manager.js
index 12ca5b2..acca796 100644
--- a/skins/ajax_scripts/ajax_form_manager.js
+++ b/skins/ajax_scripts/ajax_form_manager.js
@@ -1,4 +1,4 @@
-// (c) Benoît PIN 2006-2007
+// (c) Benoît PIN 2006-2014
 // http://plinn.org
 // Licence GPL
 // 
@@ -8,12 +8,13 @@ var FormManager;
 
 (function(){
 	
-FormManager = function(form, responseTextDest, lazy) {
+FormManager = function(form, responseTextDest, lazy, noHistory) {
 	if (form.elements.namedItem("noAjax")) {return;}
 	
 	this.form = form;
 	this.responseTextDest = responseTextDest;
 	this.lazy = lazy;
+	this.noHistory = noHistory;
 	var thisManager = this;
 	this.form.onsubmit = function(evt) { thisManager.submit(evt); };
 	this.form.onclick = function(evt) { thisManager.click(evt); };
@@ -406,9 +407,14 @@ FormManager.prototype.loadResponse = function(req) {
 							break;
 						case 'base' :
 							var headBase = document.getElementsByTagName('base');
-							if (headBase.length) {
+							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;
 					}
 				}
@@ -430,7 +436,8 @@ FormManager.prototype.loadResponse = function(req) {
 	var onAfterPopulate = this.onAfterPopulate;
 	onAfterPopulate();
 	this.scrollToPortalMessage();
-	history.pushState(absolute_url(), document.title, absolute_url());
+	var url = this.form.action;
+	if (!this.noHistory){ history.pushState(url, document.title, url); }
 };
 
 FormManager.prototype.scrollToPortalMessage = function() {