Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Popolare input con checkbox

    Situazione:

    <input type="checkbox" id="Attivazione" name="Attivazione" value="" title="Attivazione" size="20" maxlength="20" <%if attivazione=true then Response.Write("checked")%>>

    <input type="text" id="Data_Attivazione" name="Data_Attivazione" title="Data Attivazione" size="20" maxlength="20">

    Quando il checkbox passa da false a true il campo data_attivazione si dovrebbe popolare con la data odierna.

    Al contrario quando torna a false deve azzerarsi

    Qualche aiuto?

  2. #2
    così dovrebbe andare bene:

    Codice PHP:
    <script type="text/javascript">
    function 
    setData(attivazione) {
    if (
    attivazione.checked) {
    var 
    now = new Date();
    var 
    attdata now.getDate() + '/' + (now.getMonth()+1) + '/' now.getFullYear();
    document.getElementById('Data_Attivazione').value=attdata;
        }
    else {
    document.getElementById('Data_Attivazione').value='';    
        }
    }
    </script>

    <input type="checkbox" id="Attivazione" name="Attivazione" value="" title="Attivazione" size="20" maxlength="20" onclick="setData(this)">

    <input type="text" id="Data_Attivazione" name="Data_Attivazione" title="Data Attivazione" size="20" maxlength="20"> 

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ok così funziona...
    però approfitto della tua bravura...per 2 cose:

    1 - vorrei la data nel formato gg/mm/aaaa (ad esempio oggi mette 11/4/2008 e non 11/04/2008)

    2 - vorrei inoltre che il campo della data oltre a popolarsi e non, diventasse anche attivo e non attivo

    Grazie per la disponibilità
    Eventuale birra pagata...

  4. #4
    Codice PHP:
    <script type="text/javascript">
    function 
    setData(attivazione) {
    if (
    attivazione.checked) {
    var 
    now = new Date();
    var 
    giorno now.getDate() < 10 '0' now.getDate() : now.getDate();
    var 
    mese = (now.getMonth()+1) < 10 '0' + (now.getMonth()+1) : (now.getMonth()+1);
    var 
    attdata giorno '/' mese '/' now.getFullYear();
    document.getElementById('Data_Attivazione').disabled=false;
    document.getElementById('Data_Attivazione').value=attdata;
        }
    else {
    document.getElementById('Data_Attivazione').value='';
    document.getElementById('Data_Attivazione').disabled=true;    
        }
    }
    </script>

    <input type="checkbox" id="Attivazione" name="Attivazione" value="" title="Attivazione" size="20" maxlength="20" onclick="setData(this)">

    <input type="text" id="Data_Attivazione" name="Data_Attivazione" title="Data Attivazione" size="20" maxlength="20" disabled> 
    Se sei di Verona è andata per la birra!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Grande! Perfetto e funzionante!

    Ultima domanda per la terza birra...

    Se volessi assegnare ad un altro campo il valore di una variabile di sessione ad esempio session("pippo") com'è la sintassi?

    document.getElementById('Nome').value=session("pip po");

    così non funziona, mentre se metto gli apici restituisce il contenuto testo

    Sono di Udine, ma se rispondi anche a questo mi sa che dovrò fare un giro a Verona...

    PS: ma questo è tutto codice JS?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Vediamo se sparo una...

    Session è di asp e sta sul server, pertanto non posso pescarla direttamente da javascript lato client...

    Per cui probabilmente dovrei mettere nel form un campo magari hidden con il valore della variabile session, tipo

    <input type="hidden" name="Nominativo" value="<%=Session("nominativo")%>">

    e poi nello script assegnare al campo il valore di Nominativo.

    Dico giusto?

    Ma nello script come scrivo?

    document.getElementById('Nome').value=document.get ElementById('Nominativo');

    così non funziona...

  7. #7
    sì esatto le variabili di sessione sono gestite da linguaggi lato server, quindi se nel codice hai questo:

    codice:
    <input type="hidden" name="Nominativo" value="<%=Session("nominativo")%>">
    puoi recuperare il valore in javascript in questo modo:

    codice:
    document.getElementById('Nome').value=document.getElementById('Nominativo').value;
    oppure credo tu possa fare direttamente così:

    codice:
    document.getElementById('Nome').value='<%=Session("nominativo")%>'

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    In effetti funziona in entrambi i casi anche se c'è questa differenza, lo dico giusto se serve anche ad altri:

    Siccome "nominativo" è composto da 2 parti ovvero NomeCognome se utilizzo il primo metodo, passando attraverso il campo hidden viene poi visualizzato correttamente come Nome Cognome, mentre nel secondo caso prende la stringa così com'è visualizzando NomeCognome

    Comunque grazie sei stato preziosissimo.

    Non mi hai risposto però alla domanda se questo è tutto codice Javascript.

    Certo che dovrò mettermi a vedere qualcosa, anche di Ajax

  9. #9
    sì, a parte il piccolo pezzo di ASP che hai messo tu è tutto javascript...

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.