BUG: IE Incompatibilty - "Al utilizar IE en la parte de holidays cuando se utilizan mas de 3 filas, es decir a partir de la 4ta fila los datos de las fechas del calendario empiezan a ser cambiados con los datos de la primera fila, no registrando nada a partir de la cuarta fila"

SOLVED!
This commit is contained in:
Erik Amaru Ortiz
2011-01-04 20:51:36 +00:00
parent 8d8c6d2b13
commit adfb794ce2
3 changed files with 49 additions and 29 deletions

View File

@@ -1848,7 +1848,7 @@ function removeValue(id){
}
function datePicker4(obj, id, mask, startDate, endDate, showTIme){
//alert('->'+id);
new Calendar({
inputField: id,
dateFormat: mask,
@@ -1861,20 +1861,10 @@ function datePicker4(obj, id, mask, startDate, endDate, showTIme){
opacity: 1,
onSelect: function() {
this.hide();
fireEvent(document.getElementById(id), 'change');
//if(document.getElementById(id).onchange)
//document.getElementById(id).onchange();
}
}
);
if( _BROWSER.name != 'msie' )
obj.onmouseover = undefined;
});
}
function fireEvent(element,event){
@@ -1910,3 +1900,4 @@ function elementAttributesNS(e, ns) {
}
return result;
}

View File

@@ -164,7 +164,12 @@ var G_Grid = function(oForm, sGridName) {
newID = aObjects[0].id.replace(/\[1\]/g, '\[' + (this.oGrid.rows.length - 2) + '\]');
aObjects[0].setAttribute('id', newID);
aObjects[0].setAttribute('name', newID);
aObjects[0].name = newID;
if (/*@cc_on!@*/0) { // Internet Explorer test (needs to be modified for IE8)
aObjects[0].mergeAttributes(document.createElement("<INPUT name='" + newID + "'/>"), false);
}
//alert(aObjects[0].name);
if (aObjects[0].type != 'checkbox') {
aObjects[0].value = '';
@@ -180,20 +185,38 @@ var G_Grid = function(oForm, sGridName) {
}
}
//verifying if it is a datepickey
//verifying if it is a datepicker
tags = oNewRow.getElementsByTagName('td')[i].getElementsByTagName('a');
if( tags.length == 2 ){ //then it is a datepicker
scriptTags = oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');
datePickerTriggerId = tags[1].id.replace(/\[1\]/g, '\[' + (this.oGrid.rows.length - 2) + '\]');
attributes = elementAttributesNS(aObjects[0], 'pm');
oNewRow.getElementsByTagName('td')[i].removeChild(scriptTags[0]);
oNewRow.getElementsByTagName('td')[i].removeChild(tags[1]);
if (tags[0].onclick) {
evOnclick = new String(tags[0].onclick);
eval('tags[0].onclick = ' + evOnclick.replace(/\[1\]/g, '\[' + (this.oGrid.rows.length - 2) + '\]') + ';');
}
tags[1].id = tags[1].id.replace(/\[1\]/g, '\[' + (this.oGrid.rows.length - 2) + '\]');
//alert(tags[1].onmouseover);
if (tags[1].onmouseover) {
evOnclick = new String(tags[1].onmouseover);
eval('tags[1].onmouseover = ' + evOnclick.replace(/\[1\]/g, '\[' + (this.oGrid.rows.length - 2) + '\]') + ';');
}
var datePickerTrigger = document.createElement('a');
datePickerTrigger.id = datePickerTriggerId;
datePickerTrigger.name = datePickerTriggerId;
var datePickerTriggerImg = document.createElement('img');
datePickerTriggerImg.src = '/images/pmdateicon.png';
datePickerTriggerImg.border = 0;
datePickerTriggerImg.width = 12;
datePickerTriggerImg.height = 12;
datePickerTriggerImg.style.position = 'relative';
datePickerTriggerImg.style.left = '-17px';
datePickerTriggerImg.style.top = '0px';
datePickerTrigger.appendChild(datePickerTriggerImg);
oNewRow.getElementsByTagName('td')[i].appendChild(datePickerTrigger);
datePicker4("", newID, attributes.mask, attributes.start, attributes.end, attributes.time);
}
}
aObjects = oNewRow.getElementsByTagName('td')[i].getElementsByTagName('span');
@@ -237,6 +260,8 @@ var G_Grid = function(oForm, sGridName) {
}
}
}
//alert(oNewRow.getElementsByTagName('td')[i].innerHTML);
break;
case 'select':
aObjects = oNewRow.getElementsByTagName('td')[i].getElementsByTagName('select');

View File

@@ -3147,13 +3147,17 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
$sizeend = $maskleng + 2;
}
if ( $this->editable != "0") {
$html = '<input id="'.$pID.'" name="'.$pID.'" '.$onchange.' class="module_app_input___gray" size="'.$sizeend.'" value="'.$value.'"/>
<a onclick="removeValue(\''.$pID.'\'); return false;"/> <img src="/images/icons_silk/calendar_x_button.png" style="position:relative;left:-17px;top:5px;"/></a>
<a id="'.$pID.'[btn]" onmouseover="datePicker4(this, \''.$pID.'\', \''.$mask.'\', \''.$startDate.'\', \''.$endDate.'\','.$Time.')"><img src="/images/pmdateicon.png" border="0" width="12" height="12" style="position:relative;left:-17px;top:0px;"/></a>';
$html = '<input id="'.$pID.'" name="'.$pID.'" pm:mask="'.$mask.'" pm:start="'.$startDate.'" pm:end="'.$endDate.'" pm:time="'.$Time.'" '.$onchange.' class="module_app_input___gray" size="'.$sizeend.'" value="'.$value.'"/>'
. '<a onclick="removeValue(\''.$pID.'\'); return false;"/> '
. '<img src="/images/icons_silk/calendar_x_button.png" style="position:relative;left:-17px;top:5px;"/></a>'
. '<a id="'.$pID.'[btn]"><img src="/images/pmdateicon.png" border="0" width="12" height="12" style="position:relative;left:-17px;top:0px;"/></a>'
. '<script>datePicker4("", \''.$pID.'\', \''.$mask.'\', \''.$startDate.'\', \''.$endDate.'\','.$Time.')</script>';
} else {
$html = '<input id="'.$pID.'" name="'.$pID.'" '.$onchange.' class="module_app_input___gray" size="'.$sizeend.'" value="'.$value.'" readonly/>
<a onclick="removeValue(\''.$pID.'\'); return false;"/> <img src="/images/icons_silk/calendar_x_button.png" style="position:relative;left:-17px;top:5px;"/></a>
<a id="'.$pID.'[btn]" onmouseover="datePicker4(this, \''.$pID.'\', \''.$mask.'\', \''.$startDate.'\', \''.$endDate.'\', '.$Time.')"><img src="/images/pmdateicon.png" border="0" width="12" height="12" style="position:relative;left:-17px;top:0px;"/></a>';
$html = '<input id="'.$pID.'" name="'.$pID.'" pm:mask="'.$mask.'" pm:start="'.$startDate.'" pm:end="'.$endDate.'" pm:time="'.$Time.'" '.$onchange.' class="module_app_input___gray" size="'.$sizeend.'" value="'.$value.'" readonly="readonly"/>'
. '<a onclick="removeValue(\''.$pID.'\'); return false;"/> '
. '<img src="/images/icons_silk/calendar_x_button.png" style="position:relative;left:-17px;top:5px;"/></a>'
. '<a id="'.$pID.'[btn]"><img src="/images/pmdateicon.png" border="0" width="12" height="12" style="position:relative;left:-17px;top:0px;"/></a>'
. '<script>datePicker4("", \''.$pID.'\', \''.$mask.'\', \''.$startDate.'\', \''.$endDate.'\','.$Time.')</script>';
}
} else {