Ciao a tutti!
sono una neo programmatrice java che tenta di cimentarsi col javascrip.
Sto creando un sito dinamico ma ho un problema con la validazione dei campi di 1 form. Dunque, il form riguarda le news, il client può settare una data di pubblicazione (per indicare quando la news andrà on-line), un campo di fine pubblicazione (per indicare quando questa andrà off-line) e un campo di stato (dove appunto con una select si sceglie tra online e offline ---> ovvero tra 1 e 0);
In sostanza devo verificare che se l'utente mette lo stato a 1(online) la data odierna debba essere compresa(o uguale)tra quella di pubblicazione e quella di fine pubblicazione e viceversa...insomma devo controllare che le cose tra di loro non cozzino!
La funzione originale è:
<SCRIPT LANGUAGE="JavaScript1.2">
function controllaData(){
//data di oggi
var oggi = new Date();
var data = "";
var giorno=oggi.getDate()<10?"0"+oggi.getDate()ggi.getDate();
var mese=(oggi.getMonth()+1)<10?"0"+(oggi.getMonth()+1 )oggi.getMonth()+1);
var anno=oggi.getFullYear();
//stato
var stato=document.mioform.stato.value;
//data pubblicazione
var dataPubblicazione=document.mioform.dataPubblicazio ne.value;
var dataPubblicazioneGG=dataPubblicazione.slice(0,2);
var dataPubblicazioneMM=dataPubblicazione.slice(3,5);
var dataPubblicazioneAAAA=dataPubblicazione.slice(6,10 );
//data fine pubblicazione
var dataFinePubblicazione=document.mioform.dataFinePub blicazione.value;
//controllo sullo stato
if (stato=="0"){
//la data di fine pubb è facoltativa
if (dataFinePubblicazione!=""){
var dataFinePubblicazioneGG=dataFinePubblicazione.slic e(0,2);
var dataFinePubblicazioneMM=dataFinePubblicazione.slic e(3,5);
var dataFinePubblicazioneAAAA=dataFinePubblicazione.sl ice(6,10);
if(dataPubblicazioneAAAA<=anno)&&(anno<=dataFinePu bblicazioneAAAA){
if(dataPubblicazioneMM <= mese)&&(mese <= dataFinePubblicazioneMM){
if(dataPubblicazioneGG<=giorno)&&(giorno<=dataFine PubblicazioneGG){
window:alert("Attenzione, le date indicano che la news dovrebbe essere on-line, ma lo stato è settato off-line! Cambiare una delle due cose.");
}}}
}else{
if(dataPubblicazioneAAAA <= anno){
if(dataPubblicazioneMM <= mese){
if(dataPubblicazioneGG <= giorno){
window:alert("Attenzione, le date indicano che la news dovrebbe essere on-line, ma lo stato è settato off-line! Cambiare una delle due cose.");
}}}
}
}else{
if (dataFinePubblicazione!=""){
var dataFinePubblicazioneGG=dataFinePubblicazione.slic e(0,2);
var dataFinePubblicazioneMM=dataFinePubblicazione.slic e(3,5);
var dataFinePubblicazioneAAAA=dataFinePubblicazione.sl ice(6,10);
if(dataPubblicazioneAAAA > anno)||(anno > dataFinePubblicazioneAAAA){
if(dataPubblicazioneMM > mese)||(mese > dataFinePubblicazioneMM){
if(dataPubblicazioneGG > giorno)||(giorno > dataFinePubblicazioneGG){
alert("Attenzione, le date indicano che la news dovrebbe essere off-line, ma lo stato è settato on-line! Cambiare una delle due cose.")
}}}
}else{
if(dataPubblicazioneAAAA > anno){
if(dataPubblicazioneMM > mese){
if(dataPubblicazioneGG > giorno){
alert("Attenzione, le date indicano che la news dovrebbe essere off-line, ma lo stato è settato on-line! Cambiare una delle due cose.")
}}}
}}}
</SCRIPT>
Ricreandolo poi passo per passo mi sono accorta che si blocca all'altezza del primo and logico.... :master:![]()
Grazie mille in anticipo dell'aiuto.![]()
Daria