Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Problema evento onblur

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    residenza
    Milano
    Messaggi
    217

    Problema evento onblur

    Ragazzi
    Ennesima cazzata ma spero di contare sempre sull'aiuto dei guru di javascript.
    Ho applicato l'evento onblur al campo testo; bene al primo inserimento l'alert mi funziona in quanto riconosce il focus del mouse; nel momento in cui invece vado a rimodificare il valore nella casella non mi compare più l'alert; quale può essere l'errore ?

    codice:
    <script>
    
    
        function anni() {
            strData = document.calendario.data_baby.value;
            RE = /^\d{1,2}\/\d{1,2}\/\d{4}$/
            if(RE.test(strData)) {
                aData = strData.split('/')
                aData[0] = parseInt(aData[0],10)
                aData[1] = parseInt(aData[1],10)-1
                aData[2] = parseInt(aData[2],10)
                data = new Date(aData[2],aData[1],aData[0])
                oggi = new Date()
                 oggi = new Date(oggi.getFullYear(),oggi.getMonth(),oggi.getDate())
                 compleanno = new Date(oggi.getFullYear(),aData[1],aData[0])
                 dif = oggi.getTime()-compleanno.getTime()
                  divisore = (1000*60*60*24)
                    giorni = parseInt(dif/divisore)
                    anni = oggi.getFullYear()-data.getFullYear()    
                    anni = (giorni < 0) ? anni - 1 : anni
    
    
                    if (anni <= 12) {
                    alert('anni = '+anni)
                   return true}
                else{
                    alert('Data non valida')
                    return false
                }
            }
        }
    </script>
    
        <form name="calendario" method="POST" action="preventivo.asp">
            <input name="data_baby" type="text" onblur="anni()" value=""/>
    </form>

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    C'è un grosso errore (direi un errore da niubbo, senza offesa). Hai usato lo stesso nome sia per la funzione, sia per la variabile "anni". Il problema è dato dal fatto che la prima volta "anni" è vista come una funzione e viene quindi chiamata regolarmente. Dentro la funzione però tale variabile cambia, per cui la seconda volta che viene chiamata come funzione "anni()", non è riconosciuta come tale.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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.