Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    presenza_fine deve essere sempre maggiore di presenza_inizio

    Ciao a tutti.

    Come posso fare in queste select ( corrispondono a data_inizio e data_fine ) a fare in modo che presenza_fine sia sempre maggiore di presenza_inizio?

    codice:
    <html>
    
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nuova pagina 1</title>
    </head>
    
    <body>
    
    <select size="1" name="presenza_inizio" onChange="window.document.location='Tot.asp?presenza_fine=24/04/2008&presenza_inizio='+this.options[this.selectedIndex].value;">
    <option>Seleziona</option>
    <option value="11/03/2008">11/03/2008</option>
    <option value="12/03/2008">12/03/2008</option>
    <option value="13/03/2008">13/03/2008</option>
    <option value="14/03/2008">14/03/2008</option>
    <option value="17/03/2008">17/03/2008</option>
    
    </select>
             
    <select size="1" name="presenza_fine" onChange="window.document.location='Tot.asp?presenza_inizio=24/04/2008&presenza_fine='+this.options[this.selectedIndex].value;">
    <option>Seleziona</option> 
    <option value="11/03/2008">11/03/2008</option>
    <option value="12/03/2008">12/03/2008</option>
    <option value="13/03/2008">13/03/2008</option>
    <option value="14/03/2008">14/03/2008</option>
    <option value="17/03/2008">17/03/2008</option>
    </select>
    
    
    </body>
    
    </html>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    La domanda non e' chiara... sia sempre maggiore quando? anche perche' all'invio tu imponi un valore fisso per l'altro parametro... :master:

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Originariamente inviato da br1
    La domanda non e' chiara... sia sempre maggiore quando? anche perche' all'invio tu imponi un valore fisso per l'altro parametro... :master:

    ciao
    Grazie x aver risposto; quello che ho postato è l'HTML restituito dalla pagina.

    La selezione dei valori nelle select va bene sempre quando presenza_fine è sempre minore a presenza_inizio, cioé:

    presenza_inizio = 24/04/2008
    presenza_inizio = 25/04/2008

    va bene, mentre:

    presenza_inizio = 24/04/2008
    presenza_inizio = 23/04/2008

    non va bene.

    E' più chiaro?
    Grazie

  4. #4
    Con la ricerca ho trovato questa funzione e l'ho personalizzata:

    codice:
    var old_i = 0
    var old_f = 0
    
    function controlla(obj) 
    
    {
    
    	f = obj.form;
    	n = obj.name;
    	new_i = f.presenza_inizio.selectedIndex;
    	pippo = f.presenza_inizio.options[new_i].value.split("/");
    	data_i = new Date(pippo[2],pippo[1]-1,pippo[0]);
    	new_f = f.presenza_fine.selectedIndex;
    	pippo = f.presenza_fine.options[new_f].value.split("/");
    	data_f = new Date(pippo[2],pippo[1]-1,pippo[0]);
    	if(data_f<data_i) {
    		alert("La Data inizio è maggiore della Data fine!");
    		f.presenza_inizio.selectedIndex = old_i;
    		f.presenza_fine.selectedIndex = old_f;
    	} 
    	
    	else 
    	
    	{
    		window.location.href = 'Tot.asp?presenza_inizio=<%=request.querystring("presenza_inizio")%>&'+n+'=' + obj.options[obj.selectedIndex].value;
    	}
    }
    
    ...
    
    <select size="1" name="presenza_inizio" onChange="window.location.href='Tot.asp?presenza_fine=<%=presenza_fine%>&presenza_inizio='+this.options[this.selectedIndex].value;">
    
    ...
    
    <select size="1" name="presenza_fine" onchange="controlla(this)">
    L'unica cosa che non riesco a fare è quando si verifica la condizione "La Data inizio è maggiore della Data fine!" è mantenere nelle due select la data di oggi, ad esempio:

    presenza_inizio = 27/04/2008
    presenza_fine = 27/04/2008

    Da presenza_fine seleziono la data 26/04/2008 e si verifica la condizione "La Data inizio è maggiore della Data fine!" con l'evento onchange vorrei che:

    presenza_inizio = 27/04/2008
    presenza_fine = 27/04/2008

    Mi spiego?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.