Update of /cvsroot/magicajax/magicajax/Core/script
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22717/Core/script
Modified Files:
AjaxCallObject.js
Log Message:
Image buttons return X/Y coordinates for Firefox too.
Index: AjaxCallObject.js
===================================================================
RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v
retrieving revision 1.50
retrieving revision 1.51
diff -C2 -d -r1.50 -r1.51
*** AjaxCallObject.js 24 Jan 2006 22:25:05 -0000 1.50
--- AjaxCallObject.js 27 Jan 2006 00:28:25 -0000 1.51
***************
*** 8,11 ****
--- 8,12 ----
__ClockID = 0;
__Netscape8AndUp = false;
+ __ClickX = __ClickY = 0;
// Excluding from post flags
***************
*** 219,222 ****
--- 220,224 ----
this.AddEventListener(document.forms[0], "submit", this.OnFormSubmit);
+ this.AddEventListener(document.forms[0], "click", this.OnFormClick);
if (typeof __doPostBack != 'undefined')
***************
*** 245,248 ****
--- 247,256 ----
}
+ AjaxCallObject.prototype.OnFormClick = function(e)
+ {
+ __ClickX = e.pageX;
+ __ClickY = e.pageY;
+ }
+
AjaxCallObject.prototype.OnFormSubmit = function(e)
{
***************
*** 280,284 ****
__doingSubmit = false;
! if (AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxScopeID(target)))
{
if (e.preventDefault)
--- 288,308 ----
__doingSubmit = false;
! var theData = "";
! //check if target is an input element of type 'image'
! if (target != null && target.type == "image" && target.name && target.name != '')
! {
! if (e.offsetX)
! {
! // IE
! theData += target.name + ".x=" + (e.offsetX - target.offsetLeft) + "&" + target.name + ".y=" + (e.offsetY - target.offsetTop);
! }
! else
! {
! // Firefox
! theData += target.name + ".x=" + (__ClickX - target.offsetLeft) + "&" + target.name + ".y=" + (__ClickY - target.offsetTop);
! }
! }
!
! if (AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxScopeID(target), theData))
{
if (e.preventDefault)
***************
*** 383,392 ****
}
! AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument, ajaxCallType, ajaxScopeID)
{
//defaults
if (!ajaxCallType) ajaxCallType = "async";
if (typeof(ajaxScopeID) == "undefined")
! ajaxScopeID = this.GetAjaxScopeID(this.GetTargetElement(eventTarget));
var theData = '';
--- 407,418 ----
}
! AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument, ajaxCallType, ajaxScopeID, additionalData)
{
+ var target = this.GetTargetElement(eventTarget);
+
//defaults
if (!ajaxCallType) ajaxCallType = "async";
if (typeof(ajaxScopeID) == "undefined")
! ajaxScopeID = this.GetAjaxScopeID( target );
var theData = '';
***************
*** 401,413 ****
if (ajaxScopeID != null)
theData += '__AJAXSCOPE=' + ajaxScopeID + '&';
!
! //check if eventTarget is an input element of type 'image'
! var target = this.GetTargetElement(eventTarget)
! if (target != null && target.type == "image" && target.name && target.name != '')
! {
! //image callbacks only supported for IE (for now). For other browsers, no .x and .y is sent yet.
! if (window.event)
! theData += target.name + ".x=" + window.event.offsetX + "&" + target.name + ".y=" + (window.event.offsetY - target.offsetTop) + "&";
! }
var excludeFlags = this.GetExcludeFlags( target );
--- 427,433 ----
if (ajaxScopeID != null)
theData += '__AJAXSCOPE=' + ajaxScopeID + '&';
!
! if (typeof(additionalData) != "undefined")
! theData += additionalData + "&";
var excludeFlags = this.GetExcludeFlags( target );
|