From a25ad60fd2057ea3f50de00b8abeda86c75d7e81 Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Tue, 21 May 2013 19:43:55 +0000 Subject: [PATCH] BUG 11793 "Los botones tipo SUBMIT de los formularios, no..." SOLVED - Los botones tipo SUBMIT de los formularios, no llegan en el array del POST. - Problema resuelto, los botones tipo Submit ahora son enviados con el formulario. * Available from version ProcessMaker-2.0.47 (2.5.1) --- gulliver/js/form/core/form.js | 667 ++++++++++++++-------------- gulliver/js/maborak/core/maborak.js | 26 +- 2 files changed, 334 insertions(+), 359 deletions(-) diff --git a/gulliver/js/form/core/form.js b/gulliver/js/form/core/form.js index f14af20ae..37a429cb8 100755 --- a/gulliver/js/form/core/form.js +++ b/gulliver/js/form/core/form.js @@ -2886,20 +2886,6 @@ var validateGridForms = function(invalidFields){ return (invalidFields); }; -var changeStatusSubmitFields = function(newStatusTo) { - var newStatus = newStatusTo == 'disabled'; - var formElements = document.getElementsByTagName('form'); - for (var i = 0; i < formElements.length; i++) { - var inputElements = formElements[i].getElementsByTagName('input'); - for (var j = 0; j < inputElements.length; j++) { - if (typeof(inputElements[j].type) != 'undefined') { - if (inputElements[j].type == 'submit') { - inputElements[j].disabled = newStatus; - } - } - } - } -}; /** * @@ -2910,353 +2896,346 @@ var changeStatusSubmitFields = function(newStatusTo) { * **/ -var validateForm = function(sRequiredFields) { +var swSubmitValidateForm = 1; + +var validateForm = function(sRequiredFields) { + if (swSubmitValidateForm == 1) { + + swSubmitValidateForm = 0; + + sFormName = document.getElementById('__DynaformName__'); + if ((typeof(sFormName) != 'undefined' && sFormName != 'login') && (typeof(__usernameLogged__) != 'undefined' && __usernameLogged__ != '') ) { + if (!sessionPersits()) { + showPromptLogin('session'); + + swSubmitValidateForm = 1; + + return false; + } + } + + /** + * replacing the %27 code by " character (if exists), this solve the problem that " broke the properties definition into a html + * i.ei
0 ) { + sRequiredFields = sRequiredFields.replace(/%27/gi, '"'); + } + if( typeof(sRequiredFields) != 'object' || sRequiredFields.indexOf("%39") > 0 ) { + sRequiredFields = sRequiredFields.replace(/%39/gi, "'"); + } + aRequiredFields = eval(sRequiredFields); + + var sMessage = ''; + var invalid_fields = Array(); + var fielEmailInvalid = Array(); + + for (var i = 0; i < aRequiredFields.length; i++) { + aRequiredFields[i].label=(aRequiredFields[i].label=='')?aRequiredFields[i].name:aRequiredFields[i].label; + + if (!notValidateThisFields.inArray(aRequiredFields[i].name)) { + + if (typeof aRequiredFields[i].required != 'undefined') { + required = aRequiredFields[i].required; + } else { + required = 1; + } + + if (typeof aRequiredFields[i].validate != 'undefined') { + validate = aRequiredFields[i].validate; + } else { + validate = ''; + } + + if(required == 1) { + switch(aRequiredFields[i].type) { + case 'suggest': + var vtext1 = new input(getField(aRequiredFields[i].name+'_label')); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vtext1.failed(); + } else { + vtext1.passed(); + } + break; + case 'text': + var vtext = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vtext.failed(); + } + else { + vtext.passed(); + } + break; + case 'dropdown': + var vtext = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vtext.failed(); + } else { + vtext.passed(); + } + break; + case 'textarea': + var vtext = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vtext.failed(); + } else { + vtext.passed(); + } + break; + case 'password': + var vpass = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vpass.failed(); + } else { + vpass.passed(); + } + break; + + case 'currency': + var vcurr = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vcurr.failed(); + } else { + vcurr.passed(); + } + break; + + case 'percentage': + var vper = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vper.failed(); + } else { + vper.passed(); + } + break; + + case 'yesno': + var vtext = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vtext.failed(); + } else { + vtext.passed(); + } + break; + case 'date': + var vtext = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vtext.failed(); + } else { + vtext.passed(); + } + break; + case 'file': + var vtext = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value=='') { + invalid_fields.push(aRequiredFields[i].label); + vtext.failed(); + } else { + vtext.passed(); + } + break; + + case 'listbox': + var oAux = getField(aRequiredFields[i].name); + var bOneSelected = false; + for (var j = 0; j < oAux.options.length; j++) { + if (oAux.options[j].selected) { + bOneSelected = true; + j = oAux.options.length; + } + } + if(bOneSelected == false) + invalid_fields.push(aRequiredFields[i].label); + break; + + case 'radiogroup': + var x=aRequiredFields[i].name; + var oAux = document.getElementsByName('form['+ x +']'); + var bOneChecked = false; + for (var k = 0; k < oAux.length; k++) { + var r = oAux[k]; + if (r.checked) { + bOneChecked = true; + k = oAux.length; + } + } + + if(bOneChecked == false) + invalid_fields.push(aRequiredFields[i].label); + break; + + case 'checkgroup': + var bOneChecked = false; + var aAux = document.getElementsByName('form[' + aRequiredFields[i].name + '][]'); + for (var k = 0; k < aAux.length; k++) { + if (aAux[k].checked) { + bOneChecked = true; + k = aAux.length; + } + } + if(!bOneChecked) { + invalid_fields.push(aRequiredFields[i].label); + } + break; + } + } + + if(validate != '') { + //validate_fields + switch(aRequiredFields[i].type) { + case 'suggest': + break; + + case 'text': + + if(validate == "Email") { + var vtext = new input(getField(aRequiredFields[i].name)); + if(getField(aRequiredFields[i].name).value!='') { + var email = getField(aRequiredFields[i].name); + //var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; + //var filter = /^[\w\_\-\.çñ]{2,255}@[\w\_\-]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/; + var filter =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; + if (!filter.test(email.value)&&email.value!="") { + fielEmailInvalid.push(aRequiredFields[i].label); + vtext.failed(); + email.focus(); + } else { + vtext.passed(); + } + } + } + break; + } + } + } + } + + // call added by gustavo - cruz, gustavo-at-colosa.com validate grid forms + invalid_fields = validateGridForms(invalid_fields); + + if (invalid_fields.length > 0 ||fielEmailInvalid.length> 0) { + //alert(G_STRINGS.ID_REQUIRED_FIELDS + ": \n\n" + sMessage); + + // loop for invalid_fields + for(j=0; j 0)? ', ': ''; + sMessage += invalid_fields[j]; + } + + // Loop for invalid_emails + var emailInvalidMessage = ""; + for(j=0; j 0)? ', ': ''; + emailInvalidMessage += fielEmailInvalid[j]; + } + + /* new leimnud.module.app.alert().make({ + label:G_STRINGS.ID_REQUIRED_FIELDS + ":

[ " + sMessage + " ]", + width:450, + height:140 + (parseInt(invalid_fields.length/10)*10) + });*/ + + //!create systemMessaggeInvalid of field invalids + var systemMessaggeInvalid = ""; + + if(invalid_fields.length > 0) { + systemMessaggeInvalid += "\n \n"+G_STRINGS.ID_REQUIRED_FIELDS + ": \n \n [ " + sMessage + " ]"; + } + + if(fielEmailInvalid.length > 0) { + systemMessaggeInvalid += "\n \n" + G_STRINGS.ID_VALIDATED_FIELDS + ": \n \n [ " + emailInvalidMessage + " ]"; + } + + alert(systemMessaggeInvalid); + + swSubmitValidateForm = 1; - sFormName = document.getElementById('__DynaformName__'); - if ((typeof(sFormName) != 'undefined' && sFormName != 'login') && (typeof(__usernameLogged__) != 'undefined' && __usernameLogged__ != '') ) { - if (!sessionPersits()) { - showPromptLogin('session'); return false; } - } + else { + var arrayForm = document.getElementsByTagName("form"); + var inputAux; + var id = ""; + var i1 = 0; + var i2 = 0; - // Disabling submit buttons - changeStatusSubmitFields('disabled'); + for (i1 = 0; i1 <= arrayForm.length - 1; i1++) { + var frm = arrayForm[i1]; - /** - * replacing the %27 code by " character (if exists), this solve the problem that " broke the properties definition into a html - * i.ei 0 ){ - sRequiredFields = sRequiredFields.replace(/%27/gi, '"'); - } - if( typeof(sRequiredFields) != 'object' || sRequiredFields.indexOf("%39") > 0 ){ - sRequiredFields = sRequiredFields.replace(/%39/gi, "'"); - } - aRequiredFields = eval(sRequiredFields); + if (elem.type == "checkbox" && elem.disabled && elem.checked) { + id = elem.id + "_"; - var sMessage = ''; - var invalid_fields = Array(); - var fielEmailInvalid = Array(); + if (!document.getElementById(id)) { + inputAux = document.createElement("input"); + inputAux.type = "hidden"; + inputAux.id = id; + inputAux.name = elem.name; + inputAux.value = elem.value; - for (var i = 0; i < aRequiredFields.length; i++) { - aRequiredFields[i].label=(aRequiredFields[i].label=='')?aRequiredFields[i].name:aRequiredFields[i].label; - - if (!notValidateThisFields.inArray(aRequiredFields[i].name)) { - - if (typeof aRequiredFields[i].required != 'undefined'){ - required = aRequiredFields[i].required; - } - else { - required = 1; - } - - if (typeof aRequiredFields[i].validate != 'undefined') { - validate = aRequiredFields[i].validate; - } - else { - validate = ''; - } - - if(required == 1) - { - switch(aRequiredFields[i].type) { - case 'suggest': - var vtext1 = new input(getField(aRequiredFields[i].name+'_label')); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vtext1.failed(); - } else { - vtext1.passed(); - } - break; - case 'text': - var vtext = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value=='') { - invalid_fields.push(aRequiredFields[i].label); - vtext.failed(); - } - else { - vtext.passed(); - } - break; - - case 'dropdown': - var vtext = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vtext.failed(); - } else { - vtext.passed(); - } - break; - - case 'textarea': - - var vtext = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vtext.failed(); - } else { - vtext.passed(); + frm.appendChild(inputAux); + } + } } - break; + var arrayLink = frm.getElementsByTagName("a"); - case 'password': - var vpass = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vpass.failed(); - } else { - vpass.passed(); + for (i2 = 0; i2 <= arrayLink.length - 1; i2++) { + var link = arrayLink[i2]; + + if (typeof link.id != "undefined" && link.id != "" && link.id != "form[DYN_BACKWARD]" && link.id != "form[DYN_FORWARD]") { + var strHtml = link.parentNode.innerHTML; + + strHtml = stringReplace("\\x0A", "", strHtml); //\n 10 + strHtml = stringReplace("\\x0D", "", strHtml); //\r 13 + strHtml = stringReplace("\\x09", "", strHtml); //\t 9 + + if (/^.*pm:field.*$/.test(strHtml)) { + id = link.id + "_"; + + if (!document.getElementById(id)) { + var strAux = link.id.replace("form[", ""); + strAux = strAux.substring(0, strAux.length - 1); + + inputAux = document.createElement("input"); + inputAux.type = "hidden"; + inputAux.id = id; + inputAux.name = link.id; + inputAux.value = link.href; + + frm.appendChild(inputAux); + + inputAux = document.createElement("input"); + inputAux.type = "hidden"; + inputAux.id = id + "label"; + inputAux.name = "form[" + strAux + "_label]"; + inputAux.value = link.innerHTML; + + frm.appendChild(inputAux); + } + } + } } - break; - - case 'currency': - var vcurr = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vcurr.failed(); - } else { - vcurr.passed(); - } - break; - - case 'percentage': - var vper = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vper.failed(); - } else { - vper.passed(); - } - break; - - case 'yesno': - var vtext = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vtext.failed(); - } else { - vtext.passed(); - } - break; - - case 'date': - var vtext = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vtext.failed(); - } else { - vtext.passed(); - } - break; - - case 'file': - var vtext = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value==''){ - invalid_fields.push(aRequiredFields[i].label); - vtext.failed(); - } else { - vtext.passed(); - } - break; - - case 'listbox': - var oAux = getField(aRequiredFields[i].name); - var bOneSelected = false; - for (var j = 0; j < oAux.options.length; j++) { - if (oAux.options[j].selected) { - bOneSelected = true; - j = oAux.options.length; - } - } - if(bOneSelected == false) - invalid_fields.push(aRequiredFields[i].label); - break; - - case 'radiogroup': - var x=aRequiredFields[i].name; - var oAux = document.getElementsByName('form['+ x +']'); - var bOneChecked = false; - for (var k = 0; k < oAux.length; k++) { - var r = oAux[k]; - if (r.checked) { - bOneChecked = true; - k = oAux.length; - } - } - - if(bOneChecked == false) - invalid_fields.push(aRequiredFields[i].label); - - break; - - case 'checkgroup': - var bOneChecked = false; - var aAux = document.getElementsByName('form[' + aRequiredFields[i].name + '][]'); - for (var k = 0; k < aAux.length; k++) { - if (aAux[k].checked) { - bOneChecked = true; - k = aAux.length; - } - } - if(!bOneChecked) { - invalid_fields.push(aRequiredFields[i].label); - } - - break; } - } - if(validate != '') { - //validate_fields - switch(aRequiredFields[i].type) { - case 'suggest': - break; - - case 'text': - - if(validate=="Email") { - var vtext = new input(getField(aRequiredFields[i].name)); - if(getField(aRequiredFields[i].name).value!='') { - var email = getField(aRequiredFields[i].name); - //var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; - //var filter = /^[\w\_\-\.çñ]{2,255}@[\w\_\-]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/; - var filter =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; - if (!filter.test(email.value)&&email.value!="") { - fielEmailInvalid.push(aRequiredFields[i].label); - vtext.failed(); - email.focus(); - } - else { - vtext.passed(); - } - } - } - break; - } - } + return true; } - } + } else { - // call added by gustavo - cruz, gustavo-at-colosa.com validate grid forms - invalid_fields = validateGridForms(invalid_fields); - - if (invalid_fields.length > 0 ||fielEmailInvalid.length> 0) { - //alert(G_STRINGS.ID_REQUIRED_FIELDS + ": \n\n" + sMessage); - - - - // loop for invalid_fields - for(j=0; j 0)? ', ': ''; - sMessage += invalid_fields[j]; + return false; } - - // Loop for invalid_emails - var emailInvalidMessage = ""; - for(j=0; j 0)? ', ': ''; - emailInvalidMessage += fielEmailInvalid[j]; - } - - - /* new leimnud.module.app.alert().make({ - label:G_STRINGS.ID_REQUIRED_FIELDS + ":

[ " + sMessage + " ]", - width:450, - height:140 + (parseInt(invalid_fields.length/10)*10) - });*/ - - //!create systemMessaggeInvalid of field invalids - var systemMessaggeInvalid = ""; - - if(invalid_fields.length > 0) { - systemMessaggeInvalid += "\n \n"+G_STRINGS.ID_REQUIRED_FIELDS + ": \n \n [ " + sMessage + " ]"; - } - - if(fielEmailInvalid.length > 0) { - systemMessaggeInvalid += "\n \n" + G_STRINGS.ID_VALIDATED_FIELDS + ": \n \n [ " + emailInvalidMessage + " ]"; - } - - - alert(systemMessaggeInvalid); - // Enabling submit buttons - changeStatusSubmitFields('enabled'); - return false; - } - else { - var arrayForm = document.getElementsByTagName("form"); - var inputAux; - var id = ""; - var i1 = 0; - var i2 = 0; - - for (i1 = 0; i1 <= arrayForm.length - 1; i1++) { - var frm = arrayForm[i1]; - - for (i2 = 0; i2 <= frm.elements.length - 1; i2++) { - var elem = frm.elements[i2]; - - if (elem.type == "checkbox" && elem.disabled && elem.checked) { - id = elem.id + "_"; - - if (!document.getElementById(id)) { - inputAux = document.createElement("input"); - inputAux.type = "hidden"; - inputAux.id = id; - inputAux.name = elem.name; - inputAux.value = elem.value; - - frm.appendChild(inputAux); - } - } - } - - var arrayLink = frm.getElementsByTagName("a"); - - for (i2 = 0; i2 <= arrayLink.length - 1; i2++) { - var link = arrayLink[i2]; - - if (typeof link.id != "undefined" && link.id != "" && link.id != "form[DYN_BACKWARD]" && link.id != "form[DYN_FORWARD]") { - var strHtml = link.parentNode.innerHTML; - - strHtml = stringReplace("\\x0A", "", strHtml); //\n 10 - strHtml = stringReplace("\\x0D", "", strHtml); //\r 13 - strHtml = stringReplace("\\x09", "", strHtml); //\t 9 - - if (/^.*pm:field.*$/.test(strHtml)) { - id = link.id + "_"; - - if (!document.getElementById(id)) { - var strAux = link.id.replace("form[", ""); - strAux = strAux.substring(0, strAux.length - 1); - - inputAux = document.createElement("input"); - inputAux.type = "hidden"; - inputAux.id = id; - inputAux.name = link.id; - inputAux.value = link.href; - - frm.appendChild(inputAux); - - inputAux = document.createElement("input"); - inputAux.type = "hidden"; - inputAux.id = id + "label"; - inputAux.name = "form[" + strAux + "_label]"; - inputAux.value = link.innerHTML; - - frm.appendChild(inputAux); - } - } - } - } - } - - return true; - } }; diff --git a/gulliver/js/maborak/core/maborak.js b/gulliver/js/maborak/core/maborak.js index 62dadb488..34acee16a 100644 --- a/gulliver/js/maborak/core/maborak.js +++ b/gulliver/js/maborak/core/maborak.js @@ -990,7 +990,8 @@ this.setContent=function(content){me.element.value='';if(content.options){if(con return false;};this.value=function() {return me.element.value;};this.getCursorPos=function(){var textElement=me.element;if(!document.selection)return textElement.selectionStart;var sOldText=textElement.value;var objRange=document.selection.createRange();var sOldRange=objRange.text;var sWeirdString='#%~';objRange.text=sOldRange+sWeirdString;objRange.moveStart('character',(0-sOldRange.length-sWeirdString.length));var sNewText=textElement.value;objRange.text=sOldRange;for(i=0;i<=sNewText.length;i++){var sTemp=sNewText.substring(i,i+sWeirdString.length);if(sTemp==sWeirdString){var cursorPos=(i-sOldRange.length);return cursorPos;}}};this.setSelectionRange=function(selectionStart,selectionEnd){var input=me.element;if(input.createTextRange){var range=input.createTextRange();range.collapse(true);range.moveEnd('character',selectionEnd);range.moveStart('character',selectionStart);range.select();} else if(input.setSelectionRange){input.focus();input.setSelectionRange(selectionStart,selectionEnd);}};this.getCursorPosition=function(){if(navigator.appName=='Microsoft Internet Explorer'){var field=me.element;if(document.selection){field.focus();var oSel=document.selection.createRange();oSel.moveStart('character',-field.value.length);field.selectionEnd=oSel.text.length;oSel.setEndPoint('EndToStart',document.selection.createRange());field.selectionStart=oSel.text.length;} -return{selectionStart:field.selectionStart,selectionEnd:field.selectionEnd};}else{if(document.selection){var textElement=me.element;var sOldText=textElement.value;var objRange=document.selection.createRange();var sOldRange=objRange.text;var sWeirdString='#%~';objRange.text=sOldRange+sWeirdString;objRange.moveStart('character',(0-sOldRange.length-sWeirdString.length));var sNewText=textElement.value;objRange.text=sOldRange;for(i=0;i<=sNewText.length;i++){var sTemp=sNewText.substring(i,i+sWeirdString.length);if(sTemp==sWeirdString){var cursorPos=(i-sOldRange.length);return{selectionStart:cursorPos,selectionEnd:cursorPos+sOldRange.length};}}}else{var sel={selectionStart:0,selectionEnd:0};sel.selectionStart=me.element.selectionStart;sel.selectionEnd=me.element.selectionEnd;return sel;}}};this.removeMask=function(){value=me.element.value;cursor=me.getCursorPosition();chars=value.split('');newValue='';newCont=0;newCursor=0;for(c=0;c=tamMask){var swMinus=false;if(/^.*\-.*$/.test(newValue)){swMinus=true;} if(!(keyCode==45||(swMinus&&tamMask>=tamData))){if(sw&&!swPeriod){action="none";} if(!sw){action="none";}}}} -switch(action){case'mask':case'move':dataNewMask=me.replaceMasks(newValue,newCursor);me.element.value=dataNewMask.result;me.setSelectionRange(dataNewMask.cursor,dataNewMask.cursor);break;}} -else{currentValue=me.element.value;currentSel=me.getCursorPosition();cursorStart=currentSel.selectionStart;cursorEnd=currentSel.selectionEnd;switch(keyCode){case 8:newValue=currentValue.substring(0,cursorStart-1);newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart-1;break;case 45:case 46:if(me.validate!="Email"){newValue=currentValue.substring(0,cursorStart);newValue+=currentValue.substring(cursorEnd+1,currentValue.length);newCursor=cursorStart;}else{newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;} +switch(action){case'mask':case'move':dataNewMask=me.replaceMasks(newValue,newCursor);me.element.value=dataNewMask.result;me.setSelectionRange(dataNewMask.cursor,dataNewMask.cursor);break;}}else{currentValue=me.element.value;currentSel=me.getCursorPosition();cursorStart=currentSel.selectionStart;cursorEnd=currentSel.selectionEnd;switch(keyCode){case 8:newValue=currentValue.substring(0,cursorStart-1);newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart-1;break;case 45:case 46:if(me.validate!="Email"){newValue=currentValue.substring(0,cursorStart);newValue+=currentValue.substring(cursorEnd+1,currentValue.length);newCursor=cursorStart;}else{newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;} break;case 256:newValue=currentValue.substring(0,cursorStart);newValue+='.';newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;case 35:case 36:case 37:case 38:case 39:case 40:newValue=currentValue;switch(keyCode){case 36:newCursor=0;break;case 35:newCursor=currentValue.length;break;case 37:newCursor=cursorStart-1;break;case 39:newCursor=cursorStart+1;break;} break;default:newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;} if(newCursor<0)newCursor=0;me.element.value=newValue;me.setSelectionRange(newCursor,newCursor);}};this.sendOnChange=function(){if(me.element.fireEvent){me.element.fireEvent("onchange");}else{var evObj=document.createEvent('HTMLEvents');evObj.initEvent('change',true,true);me.element.dispatchEvent(evObj);}};this.handleKeyDown=function(event){if(me.element.readOnly){return true;} @@ -1194,15 +1194,12 @@ vtext.failed();}else{vtext.passed();}} dropdowns=grids[j].getElementsByTagName('select');for(i=0;i0){sRequiredFields=sRequiredFields.replace(/%27/gi,'"');} +return(invalidFields);};var swSubmitValidateForm=1;var validateForm=function(sRequiredFields){if(swSubmitValidateForm==1){swSubmitValidateForm=0;sFormName=document.getElementById('__DynaformName__');if((typeof(sFormName)!='undefined'&&sFormName!='login')&&(typeof(__usernameLogged__)!='undefined'&&__usernameLogged__!='')){if(!sessionPersits()){showPromptLogin('session');swSubmitValidateForm=1;return false;}} +if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%27")>0){sRequiredFields=sRequiredFields.replace(/%27/gi,'"');} if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%39")>0){sRequiredFields=sRequiredFields.replace(/%39/gi,"'");} -aRequiredFields=eval(sRequiredFields);var sMessage='';var invalid_fields=Array();var fielEmailInvalid=Array();for(var i=0;i0||fielEmailInvalid.length>0){for(j=0;j0)?', ':'';sMessage+=invalid_fields[j];} var emailInvalidMessage="";for(j=0;j0)?', ':'';emailInvalidMessage+=fielEmailInvalid[j];} var systemMessaggeInvalid="";if(invalid_fields.length>0){systemMessaggeInvalid+="\n \n"+G_STRINGS.ID_REQUIRED_FIELDS+": \n \n [ "+sMessage+" ]";} if(fielEmailInvalid.length>0){systemMessaggeInvalid+="\n \n"+G_STRINGS.ID_VALIDATED_FIELDS+": \n \n [ "+emailInvalidMessage+" ]";} -alert(systemMessaggeInvalid);changeStatusSubmitFields('enabled');return false;} +alert(systemMessaggeInvalid);swSubmitValidateForm=1;return false;} else{var arrayForm=document.getElementsByTagName("form");var inputAux;var id="";var i1=0;var i2=0;for(i1=0;i1<=arrayForm.length-1;i1++){var frm=arrayForm[i1];for(i2=0;i2<=frm.elements.length-1;i2++){var elem=frm.elements[i2];if(elem.type=="checkbox"&&elem.disabled&&elem.checked){id=elem.id+"_";if(!document.getElementById(id)){inputAux=document.createElement("input");inputAux.type="hidden";inputAux.id=id;inputAux.name=elem.name;inputAux.value=elem.value;frm.appendChild(inputAux);}}} var arrayLink=frm.getElementsByTagName("a");for(i2=0;i2<=arrayLink.length-1;i2++){var link=arrayLink[i2];if(typeof link.id!="undefined"&&link.id!=""&&link.id!="form[DYN_BACKWARD]"&&link.id!="form[DYN_FORWARD]"){var strHtml=link.parentNode.innerHTML;strHtml=stringReplace("\\x0A","",strHtml);strHtml=stringReplace("\\x0D","",strHtml);strHtml=stringReplace("\\x09","",strHtml);if(/^.*pm:field.*$/.test(strHtml)){id=link.id+"_";if(!document.getElementById(id)){var strAux=link.id.replace("form[","");strAux=strAux.substring(0,strAux.length-1);inputAux=document.createElement("input");inputAux.type="hidden";inputAux.id=id;inputAux.name=link.id;inputAux.value=link.href;frm.appendChild(inputAux);inputAux=document.createElement("input");inputAux.type="hidden";inputAux.id=id+"label";inputAux.name="form["+strAux+"_label]";inputAux.value=link.innerHTML;frm.appendChild(inputAux);}}}}} -return true;}};var getObject=function(sObject){var i;var oAux=null;var iLength=__aObjects__.length;for(i=0;i0){oAux[0].action+='&_REFRESH_=1';oAux[0].submit();}}};var sessionPersits=function(){var rpc=new leimnud.module.rpc.xmlhttp({url:'../services/sessionPersists',args:'dynaformRestoreValues='+__dynaformSVal__,async:false});rpc.make();var response=rpc.xmlhttp.responseText.parseJSON();return response.status;};var showPromptLogin=function(lastAction){lastActionPerformed=lastAction;promptPanel=new leimnud.module.panel();promptPanel.options={statusBarButtons:[{value:_('LOGIN')}],position:{center:true},size:{w:300,h:130},control:{close:false,resize:false},fx:{modal:true}};promptPanel.setStyle={content:{padding:10,paddingBottom:2,textAlign:'left',paddingLeft:50,backgroundRepeat:'no-repeat',backgroundPosition:'10 50%',backgroundColor:'transparent',borderWidth:0}};promptPanel.make();promptPanel.addContent(_('ID_DYNAFORM_EDITOR_LOGIN_AGAIN'));promptPanel.addContent('
');var thePassword=$dce('input');thePassword.type='password';thePassword.id='thePassword';leimnud.dom.setStyle(thePassword,{font:'normal 8pt Tahoma,MiscFixed',color:'#000',width:'100%',marginTop:3,backgroundColor:'white',border:'1px solid #919B9C'});promptPanel.addContent(thePassword);thePassword.focus();thePassword.onkeyup=function(evt) {var evt=(window.event)?window.event:evt;var key=(evt.which)?evt.which:evt.keyCode;if(key==13){verifyLogin();}}.extend(this);promptPanel.fixContent();promptPanel.elements.statusBarButtons[0].onmouseup=verifyLogin;};var verifyLogin=function(){if(document.getElementById('thePassword').value.trim()==''){alert(_('ID_WRONG_PASS'));return;}