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

    Problema controllo data

    Salve a tutti ho un problema con javascript in una form.
    allo stato attuale la form controlla il contenuto di un campo nota (non accetta campo vuoto) e funziona perfettamente. Ho voluto aggiungere la gestione di un campo data su cui devo effettuare il controllo di data valida, data non superiore a quella odierna e non anteriore a 60 gg.

    La form ha questo aspetto :

    <script type="text/javascript">
    function Controlla(ff){
    var msg='';
    if(ff.nota.value=='')msg+='Inserire una nota esplicativa\n';
    if(msg!=''){
    alert('ATTENZIONE!\n'+msg);
    return false
    }
    else return true
    }
    </scrip>
    .
    .
    .

    <form method="post" action="commessa_ricavi_master.asp?azione=a" name="ricavi" onSubmit="return Controlla(this)" >

    <input name="date-from" type="text" class="input" id="date-from" size="12" maxlength="12" />

    <input name="nota" type="text" class="input" size="30" maxlength="64" value="" /

    <input name="pulsante" type="submit" class="bottone" id="Aggiorna" value="Aggiorna">
    <input name="pulsante" type="submit" class="bottone" id="Annulla" value="Annulla">


    Ora appena provo ad aggiungere anche solo la variabile :

    function Controlla(ff){
    var oggi = new date();
    var msg='';
    if(ff.nota.value=='')msg+='Inserire una nota esplicativa\n';
    if(msg!=''){
    alert('ATTENZIONE!\n'+msg);
    return false
    }
    else return true
    }

    Il controllo sullanota smette di funzionare passando tranquillamente la nota vuota.
    Cosa sto sbagliando ??

  2. #2
    forse perché è Date e non date.
    I DON'T Double Click!

  3. #3
    Arghhh !
    ok
    ora ho aggiunto :
    var finoa = ff.date-from.value ;

    e di nuovo non controlla + ..
    insomma non uso javascript questo si è capito ma uff....

    Inogni caso grazie per l'aiuto !

  4. #4
    ecco perché gli attributi html non vanno messi così: se scrivi ff.date-from.value lui lo interpreta:

    ff.data - (meno) form.value, ed ovviamente non ha idea di che sia form.

    fai:

    var finoa = document.getElementById("data-form").value;
    I DON'T Double Click!

  5. #5
    questa è la funziona trovata qui che vorrei integrare al controllo esistente

    function startEndDate() {
    from=document.f3.date_from.value
    to=document.f3.date_to.value

    var fromArray = from.split('/');
    fromdate = new Date( fromArray[2], fromArray[1]-1, fromArray[0]);

    var toArray = to.split('/');
    todate = new Date( toArray[2], toArray[1]-1, toArray[0]);

    document.f3.daynums.value=(todate-fromdate)/86400000

    }

    modificata quindi in :

    function Controlla(ff){
    var msg = '';
    var giorni = 0;
    var oggi = new Date();
    var to= ff.date-from.value ;

    var fromArray = oggi.split('/');
    fromdate = new Date( fromArray[2], fromArray[1]-1, fromArray[0]);

    var toArray = to.split('/');
    todate = new Date( toArray[2], toArray[1]-1, toArray[0]);

    giorni=(todate-fromdate)/86400000
    if(giorni<0)msg+='data non valida\n';
    if(ff.nota.value=='')msg+='Inserire una nota esplicativa\n';

    if(msg!=''){
    alert('ATTENZIONE!\n'+msg);
    return false
    }
    else return true
    }

    ma non riesco nenache a dichiarare le variabili...

  6. #6
    Grazie artorius !
    non avevo letto la tua risp.. intanto provo subito, ho capito cosa intendi!

  7. #7
    function Controlla(ff){
    var msg = '';
    var giorni = 0;
    var oggi = new Date();
    var to= ff.datefrom.value ;

    var toArray = to.split('/');
    todate = new Date( toArray[2], toArray[1]-1, toArray[0]);

    giorni=(oggi-todate)/86400000
    if(giorni>60 | giorni<0)msg+='data non valida'+giorni+'\n';
    if(ff.nota.value=='')msg+='Inserire una nota esplicativa\n';

    if(msg!=''){
    alert('ATTENZIONE!\n'+msg);
    return false
    }
    else return true
    }

    questa la versione funzionante , (ho cambiato nome alla var alla fine )

    Grazie artorius!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.