BUG-15572: En IE 8, 9,10 al tener un campo tipo date en una grilla SOLVED
- When you add a field loses focus. - A validation was add when the browser is IE, in file grid.js and function addGridRow.
This commit is contained in:
@@ -421,41 +421,61 @@ var G_Grid = function(oForm, sGridName){
|
||||
|
||||
tags = oNewRow.getElementsByTagName('td')[i].getElementsByTagName('a');
|
||||
if (tags.length == 2){ //DATEPICKER
|
||||
//Copy Images
|
||||
//img1 = tags[0].innerHTML;
|
||||
img2 = tags[1].innerHTML;
|
||||
//Create new trigger name
|
||||
var datePickerTriggerId = tags[1].id.replace(/\[1\]/g, '\[' + currentRow + '\]');
|
||||
//Remove 'a' tag for date picker trigger
|
||||
oNewRow.getElementsByTagName('td')[i].removeChild(tags[1]);
|
||||
//Capture Script and remove
|
||||
var scriptTags = oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');
|
||||
oNewRow.getElementsByTagName('td')[i].removeChild(scriptTags[0]);
|
||||
//Create 'a' to remove Date
|
||||
if (tags[0].onclick){
|
||||
var onclickevn = new String(tags[0].onclick);
|
||||
eval('tags[0].onclick = ' + onclickevn.replace(/\[1\]/g, '\[' + currentRow + '\]') + ';');
|
||||
}
|
||||
//Create new 'a' to trigger DatePicker
|
||||
var a2 = document.createElement('a');
|
||||
|
||||
if (_BROWSER.name == 'msie' && aObjects.length==1) {
|
||||
//Clone new input element if browser is IE
|
||||
var oNewOBJ = this.cloneElement(aObjects[n]);
|
||||
oNewOBJ.value = defaultValue;
|
||||
var parentGG = aObjects[n].parentNode;
|
||||
parentGG.removeChild(aObjects[n]);
|
||||
parentGG.appendChild(oNewOBJ);
|
||||
}
|
||||
//Copy Images
|
||||
img1 = tags[0].innerHTML;
|
||||
img2 = tags[1].innerHTML;
|
||||
//Create new trigger name
|
||||
var datePickerTriggerId = tags[1].id.replace(/\[1\]/g, '\[' + currentRow + '\]');
|
||||
//Remove 'a' tag for date picker trigger
|
||||
oNewRow.getElementsByTagName('td')[i].removeChild(tags[1]);
|
||||
//Capture Script and remove
|
||||
var scriptTags = oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');
|
||||
oNewRow.getElementsByTagName('td')[i].removeChild(scriptTags[0]);
|
||||
//Create 'a' to remove Date
|
||||
var a1 = tags[0];
|
||||
if (tags[0].onclick){
|
||||
if (_BROWSER.name == 'msie' && aObjects.length==1) {
|
||||
//style 'a' to remove Date
|
||||
var styleText = "left: -28px; top: 2px; position: relative;";
|
||||
a1.style.setAttribute("cssText", styleText );
|
||||
}
|
||||
var onclickevn = new String(tags[0].onclick);
|
||||
eval('tags[0].onclick = ' + onclickevn.replace(/\[1\]/g, '\[' + currentRow + '\]') + ';');
|
||||
}
|
||||
//Create new 'a' to trigger DatePicker
|
||||
var a2 = document.createElement('a');
|
||||
if( a2.style.setAttribute ) {
|
||||
var styleText = "position: relative; top: 2px; left: -13px;";
|
||||
a2.style.setAttribute("cssText", styleText );
|
||||
var styleText = "position: relative; top: 2px; left: -13px;";
|
||||
if (_BROWSER.name == 'msie' && aObjects.length==1) {
|
||||
var styleText = "position: relative; top: 2px; left: -4px;";
|
||||
}
|
||||
a2.style.setAttribute("cssText", styleText );
|
||||
}
|
||||
else {
|
||||
var styleText = "position: relative; top: 2px; left: -16px;";
|
||||
a2.setAttribute("style", styleText );
|
||||
}
|
||||
|
||||
a2.id = datePickerTriggerId;
|
||||
a2.innerHTML = img2;
|
||||
oNewRow.getElementsByTagName('td')[i].appendChild(a2);
|
||||
a2.id = datePickerTriggerId;
|
||||
a2.innerHTML = img2;
|
||||
oNewRow.getElementsByTagName('td')[i].appendChild(a2);
|
||||
|
||||
//Load DatePicker Trigger
|
||||
datePicker4("", newID, attributes.mask, attributes.start, attributes.end, attributes.time);
|
||||
if (_BROWSER.name == 'msie' && aObjects.length==1) {
|
||||
a1.innerHTML = img1;
|
||||
oNewRow.getElementsByTagName('td')[i].appendChild(a1);
|
||||
}
|
||||
//Load DatePicker Trigger
|
||||
datePicker4("", newID, attributes.mask, attributes.start, attributes.end, attributes.time);
|
||||
|
||||
aObjects[n].value = defaultValue;
|
||||
aObjects[n].value = defaultValue;
|
||||
}else{
|
||||
if (_BROWSER.name == 'msie' && aObjects.length==1){ //Clone new input element if browser is IE
|
||||
var oNewOBJ = this.cloneElement(aObjects[n]);
|
||||
|
||||
@@ -1380,10 +1380,14 @@ newElem.options[i]=new Option(elem.options[i].text,elem.options[i].value,elem.op
|
||||
newElem.options[pos].selected=true;}
|
||||
break;}
|
||||
return newElem;};this.replaceHtml=function(el,html){var oldEl=typeof el==="string"?document.getElementById(el):el;if(this.determineBrowser()=="MSIE"){oldEl.innerHTML=html;return oldEl;}else{var newEl=oldEl.cloneNode(false);newEl.innerHTML=html;oldEl.parentNode.replaceChild(newEl,oldEl);return newEl;}};this.addGridRow=function(){this.oGrid=document.getElementById(this.sGridName);var i,aObjects;var defaultValue='';var n,a,x;var oRow=document.getElementById('firstRow_'+this.sGridName);var aCells=oRow.getElementsByTagName('td');var oNewRow=this.oGrid.insertRow(this.oGrid.rows.length-1);var currentRow=this.oGrid.rows.length-2;var newID,attributes,img2,gridType;oNewRow.onmouseover=function(){highlightRow(this,'#D9E8FF');};oNewRow.onmouseout=function(){highlightRow(this,'#fff');};for(i=0;i<aCells.length;i++){oNewRow.appendChild(aCells[i].cloneNode(true));switch(i){case 0:oNewRow.getElementsByTagName('td')[i].innerHTML=currentRow;break;case aCells.length-1:oNewRow.getElementsByTagName('td')[i].innerHTML=oNewRow.getElementsByTagName('td')[i].innerHTML.replace(/\[1\]/g,'\['+currentRow+'\]');break;default:var eNodeName=aCells[i].innerHTML.substring(aCells[i].innerHTML.indexOf('<')+1,aCells[i].innerHTML.indexOf(' '));eNodeName=eNodeName.toLowerCase();switch(eNodeName){case'input':aObjects=oNewRow.getElementsByTagName('td')[i].getElementsByTagName('input');if(aObjects){newID=aObjects[0].id.replace(/\[1\]/g,'\['+currentRow+'\]');aObjects[0].id=newID;aObjects[0].name=newID;attributes=elementAttributesNS(aObjects[0],'pm');if(typeof(attributes.defaultvalue)!="undefined"&&attributes.defaultvalue!=""){defaultValue=attributes.defaultvalue;}else{defaultValue="";}
|
||||
for(n=0;n<aObjects.length;n++){switch(aObjects[n].type){case'text':case'password':aObjects[n].className="module_app_input___gray";tags=oNewRow.getElementsByTagName('td')[i].getElementsByTagName('a');if(tags.length==2){img2=tags[1].innerHTML;var datePickerTriggerId=tags[1].id.replace(/\[1\]/g,'\['+currentRow+'\]');oNewRow.getElementsByTagName('td')[i].removeChild(tags[1]);var scriptTags=oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');oNewRow.getElementsByTagName('td')[i].removeChild(scriptTags[0]);if(tags[0].onclick){var onclickevn=new String(tags[0].onclick);eval('tags[0].onclick = '+onclickevn.replace(/\[1\]/g,'\['+currentRow+'\]')+';');}
|
||||
var a2=document.createElement('a');if(a2.style.setAttribute){var styleText="position: relative; top: 2px; left: -13px;";a2.style.setAttribute("cssText",styleText);}
|
||||
for(n=0;n<aObjects.length;n++){switch(aObjects[n].type){case'text':case'password':aObjects[n].className="module_app_input___gray";tags=oNewRow.getElementsByTagName('td')[i].getElementsByTagName('a');if(tags.length==2){if(_BROWSER.name=='msie'&&aObjects.length==1){var oNewOBJ=this.cloneElement(aObjects[n]);oNewOBJ.value=defaultValue;var parentGG=aObjects[n].parentNode;parentGG.removeChild(aObjects[n]);parentGG.appendChild(oNewOBJ);}
|
||||
img1=tags[0].innerHTML;img2=tags[1].innerHTML;var datePickerTriggerId=tags[1].id.replace(/\[1\]/g,'\['+currentRow+'\]');oNewRow.getElementsByTagName('td')[i].removeChild(tags[1]);var scriptTags=oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');oNewRow.getElementsByTagName('td')[i].removeChild(scriptTags[0]);var a1=tags[0];if(tags[0].onclick){if(_BROWSER.name=='msie'&&aObjects.length==1){var styleText="left: -28px; top: 2px; position: relative;";a1.style.setAttribute("cssText",styleText);}
|
||||
var onclickevn=new String(tags[0].onclick);eval('tags[0].onclick = '+onclickevn.replace(/\[1\]/g,'\['+currentRow+'\]')+';');}
|
||||
var a2=document.createElement('a');if(a2.style.setAttribute){var styleText="position: relative; top: 2px; left: -13px;";if(_BROWSER.name=='msie'&&aObjects.length==1){var styleText="position: relative; top: 2px; left: -4px;";}
|
||||
a2.style.setAttribute("cssText",styleText);}
|
||||
else{var styleText="position: relative; top: 2px; left: -16px;";a2.setAttribute("style",styleText);}
|
||||
a2.id=datePickerTriggerId;a2.innerHTML=img2;oNewRow.getElementsByTagName('td')[i].appendChild(a2);datePicker4("",newID,attributes.mask,attributes.start,attributes.end,attributes.time);aObjects[n].value=defaultValue;}else{if(_BROWSER.name=='msie'&&aObjects.length==1){var oNewOBJ=this.cloneElement(aObjects[n]);oNewOBJ.value=defaultValue;var parentGG=aObjects[n].parentNode;parentGG.removeChild(aObjects[n]);parentGG.appendChild(oNewOBJ);}else{if((attributes.gridtype)&&attributes.gridtype=="currency"){var attributesCurrency=elementAttributesNS(aObjects[n],"");aObjects[n].value=attributesCurrency.value.replace(/[.,0-9\s]/g,"");}else{aObjects[n].value=defaultValue;}}}
|
||||
a2.id=datePickerTriggerId;a2.innerHTML=img2;oNewRow.getElementsByTagName('td')[i].appendChild(a2);if(_BROWSER.name=='msie'&&aObjects.length==1){a1.innerHTML=img1;oNewRow.getElementsByTagName('td')[i].appendChild(a1);}
|
||||
datePicker4("",newID,attributes.mask,attributes.start,attributes.end,attributes.time);aObjects[n].value=defaultValue;}else{if(_BROWSER.name=='msie'&&aObjects.length==1){var oNewOBJ=this.cloneElement(aObjects[n]);oNewOBJ.value=defaultValue;var parentGG=aObjects[n].parentNode;parentGG.removeChild(aObjects[n]);parentGG.appendChild(oNewOBJ);}else{if((attributes.gridtype)&&attributes.gridtype=="currency"){var attributesCurrency=elementAttributesNS(aObjects[n],"");aObjects[n].value=attributesCurrency.value.replace(/[.,0-9\s]/g,"");}else{aObjects[n].value=defaultValue;}}}
|
||||
var aObjectsScript=oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');var sObjectType=this.aFields[i-1].sType;if(aObjectsScript[0]!='undefined'&&sObjectType=='suggest'){if(this.determineBrowser()=="MSIE"){var firstNode=aCells[i];var firstScriptSuggest=firstNode.childNodes[2].innerHTML;var sScriptAdjustRow=firstScriptSuggest.replace(/\[1\]/g,'\['+currentRow+'\]');var elementTD=oNewRow.getElementsByTagName('td')[i];var elementLabel=elementTD.childNodes[0];var sNewLabelRow=elementLabel.getAttribute("id").replace(/\[1\]/g,'\['+currentRow+'\]');var elementHidden=elementTD.childNodes[1];var elementScript=elementTD.childNodes[2];var parentScript=elementScript.parentNode;var scriptElement=document.createElement("script");scriptElement.text=sScriptAdjustRow;parentScript.removeChild(elementScript);parentScript.appendChild(scriptElement);}else{var sObjScript=aObjectsScript[0].innerHTML;var sNewObjScript=sObjScript.replace(/\[1\]/g,"\["+currentRow+"\]");aObjectsScript[0].innerHTML=sNewObjScript;eval(aObjectsScript[0].innerHTML);}}
|
||||
break;case'checkbox':var attributeCheckBox=elementAttributesNS(aObjects[n],"");if(defaultValue==""||(typeof(attributeCheckBox.falseValue)!="undefined"&&defaultValue==attributeCheckBox.falseValue)||(typeof(attributeCheckBox.falsevalue)!="undefined"&&defaultValue==attributeCheckBox.falsevalue)){aObjects[n].checked=false;}else{aObjects[n].checked=true;}
|
||||
break;case'hidden':if((attributes.gridtype!="yesno"&&attributes.gridtype!="dropdown")||typeof(attributes.gridtype)=="undefined"){aObjects[n].value=defaultValue;newID=aObjects[n].id.replace(/\[1\]/g,'\['+currentRow+'\]');aObjects[n].id=newID;aObjects[n].name=newID;}
|
||||
|
||||
Reference in New Issue
Block a user