Ciao vorrei inserire alcune comode funzionalità di controllo date dal framwork spry inserite in cs4 con alcuni ( in questo caso uno ) controlli sui campi già presenti nel sito.
In questo caso ho una select che in base al valore scelto mi invia il form oppure mi dice di scegliere una voce.
---------------------------------------------
/// questo è l'evento sulla select /// onChange="return controlloSelect()"codice:function controlloSelect(){ n=document.forms['prod'].elements['cliente'] if(n.selectedIndex==0){ alert('Selezionare un cliente'); return false; n.focus(); } else document.forms['prod'].submit(); }
-----------------------
ora vorrei inserire un controllo di spry su un campo data, inserendo il tutto in maniera automatica il controllo data funziona ma viene bypassato subito dal form submit quando scelgo il cliente nella select.
La mia domanda è: sapere se è possibile e se in caso affermativo si tratta di inserire la funzione sopra dentro quella della data.
Grazie, ciao.
Ecco il file js di spry dove verifica la data
--------------------------------------------------------
codice:'date': { validation: function(value, options) { var formatRegExp = /^([mdy]+)[\.\-\/\\\s]+([mdy]+)[\.\-\/\\\s]+([mdy]+)$/i; var valueRegExp = this.dateValidationPattern; var formatGroups = options.format.match(formatRegExp); var valueGroups = value.match(valueRegExp); if (formatGroups !== null && valueGroups !== null) { var dayIndex = -1; var monthIndex = -1; var yearIndex = -1; for (var i=1; i<formatGroups.length; i++) { switch (formatGroups[i].toLowerCase()) { case "dd": dayIndex = i; break; case "mm": monthIndex = i; break; case "yy": case "yyyy": yearIndex = i; break; } } if (dayIndex != -1 && monthIndex != -1 && yearIndex != -1) { var maxDay = -1; var theDay = parseInt(valueGroups[dayIndex], 10); var theMonth = parseInt(valueGroups[monthIndex], 10); var theYear = parseInt(valueGroups[yearIndex], 10); // Check month value to be between 1..12 if (theMonth < 1 || theMonth > 12) { return false; } // Calculate the maxDay according to the current month switch (theMonth) { case 1: // January case 3: // March case 5: // May case 7: // July case 8: // August case 10: // October case 12: // December maxDay = 31; break; case 4: // April case 6: // June case 9: // September case 11: // November maxDay = 30; break; case 2: // February if ((parseInt(theYear/4, 10) * 4 == theYear) && (theYear % 100 != 0 || theYear % 400 == 0)) { maxDay = 29; } else { maxDay = 28; } break; } // Check day value to be between 1..maxDay if (theDay < 1 || theDay > maxDay) { return false; } // If successfull we'll return the date object return (new Date(theYear, theMonth - 1, theDay)); //JavaScript requires a month between 0 and 11 } } else { return false; } } },

Rispondi quotando