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)
This commit is contained in:
@@ -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 <form onsubmit="myaction(MyjsString)" ... with var MyjsString = "some string that is into a variable, so this broke the html";
|
||||
*/
|
||||
|
||||
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; 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<invalid_fields.length; j++){
|
||||
sMessage += (j > 0)? ', ': '';
|
||||
sMessage += invalid_fields[j];
|
||||
}
|
||||
|
||||
// Loop for invalid_emails
|
||||
var emailInvalidMessage = "";
|
||||
for(j=0; j<fielEmailInvalid.length; j++) {
|
||||
emailInvalidMessage += (j > 0)? ', ': '';
|
||||
emailInvalidMessage += fielEmailInvalid[j];
|
||||
}
|
||||
|
||||
/* new leimnud.module.app.alert().make({
|
||||
label:G_STRINGS.ID_REQUIRED_FIELDS + ": <br/><br/>[ " + 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 <form onsubmit="myaction(MyjsString)" ... with var MyjsString = "some string that is into a variable, so this broke the html";
|
||||
*/
|
||||
for (i2 = 0; i2 <= frm.elements.length - 1; i2++) {
|
||||
var elem = frm.elements[i2];
|
||||
|
||||
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);
|
||||
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<invalid_fields.length; j++){
|
||||
sMessage += (j > 0)? ', ': '';
|
||||
sMessage += invalid_fields[j];
|
||||
return false;
|
||||
}
|
||||
|
||||
// Loop for invalid_emails
|
||||
var emailInvalidMessage = "";
|
||||
for(j=0; j<fielEmailInvalid.length; j++){
|
||||
emailInvalidMessage += (j > 0)? ', ': '';
|
||||
emailInvalidMessage += fielEmailInvalid[j];
|
||||
}
|
||||
|
||||
|
||||
/* new leimnud.module.app.alert().make({
|
||||
label:G_STRINGS.ID_REQUIRED_FIELDS + ": <br/><br/>[ " + 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;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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<chars.length;c++){switch(chars[c]){case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':case me.comma_separator:newValue+=chars[c];newCont++;if(c+1==cursor.selectionStart){newCursor=newCont;}
|
||||
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<chars.length;c++){switch(chars[c]){case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':newValue+=chars[c];newCont++;if(c+1==cursor.selectionStart){newCursor=newCont;}
|
||||
break;case me.comma_separator:if(me.mType!='date'){newValue+=chars[c];newCont++;if(c+1==cursor.selectionStart){newCursor=newCont;}}
|
||||
break;case'-':if(me.validate=='Real'||me.validate=='Int'){newValue+=chars[c];newCont++;if(c+1==cursor.selectionStart){newCursor=newCont;}}
|
||||
break;}}
|
||||
if(cursor.selectionStart!=cursor.selectionEnd){return{result:newValue,cursor:cursor};}
|
||||
@@ -1012,8 +1013,7 @@ if(keyCode!=8&&keyCode!=46&&keyCode!=35&&keyCode!=36&&keyCode!=37&&keyCode!=39){
|
||||
if(tamData>=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;i<dropdowns.length;i++){var vtext=new input(dropdowns[i]);if(dropdowns[i].getAttribute("pm:required")=="1"&&dropdowns[i].value==''){$label=dropdowns[i].name.split("[");$labelPM=dropdowns[i].getAttribute("pm:label");if($labelPM==''||$labelPM==null){$fieldName=$label[3].split("]")[0]+" "+$label[2].split("]")[0];}else{$fieldName=$labelPM+" "+$label[2].split("]")[0];}
|
||||
fieldGridName=$label[1]+"["+$label[2]+"["+$label[3].split("]")[0];if(!notValidateThisFields.inArray(fieldGridName)){invalidFields.push($fieldName);}
|
||||
vtext.failed();}else{vtext.passed();}}}
|
||||
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;}}}}};var validateForm=function(sRequiredFields){sFormName=document.getElementById('__DynaformName__');if((typeof(sFormName)!='undefined'&&sFormName!='login')&&(typeof(__usernameLogged__)!='undefined'&&__usernameLogged__!='')){if(!sessionPersits()){showPromptLogin('session');return false;}}
|
||||
changeStatusSubmitFields('disabled');if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%27")>0){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;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();}
|
||||
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();}
|
||||
@@ -1220,17 +1217,16 @@ 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!=''){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=/^\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();}}}
|
||||
if(validate!=''){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=/^\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;}}}}
|
||||
invalid_fields=validateGridForms(invalid_fields);if(invalid_fields.length>0||fielEmailInvalid.length>0){for(j=0;j<invalid_fields.length;j++){sMessage+=(j>0)?', ':'';sMessage+=invalid_fields[j];}
|
||||
var emailInvalidMessage="";for(j=0;j<fielEmailInvalid.length;j++){emailInvalidMessage+=(j>0)?', ':'';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;i<iLength;i++){oAux=__aObjects__[i].getElementByName(sObject);if(oAux){return oAux;}}
|
||||
return true;}}else{return false;}};var getObject=function(sObject){var i;var oAux=null;var iLength=__aObjects__.length;for(i=0;i<iLength;i++){oAux=__aObjects__[i].getElementByName(sObject);if(oAux){return oAux;}}
|
||||
return oAux;};var saveAndRefreshForm=function(oObject){if(oObject){oObject.form.action+='&_REFRESH_=1';oObject.form.submit();}
|
||||
else{var oAux=window.document.getElementsByTagName('form');if(oAux.length>0){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('<br />');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;}
|
||||
|
||||
Reference in New Issue
Block a user