Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    3

    Nessun Avviso Scrivendo Alert

    Buona sera. Sono nuovo...
    Sono un ragazzo di 16 anni frequentante Istituto Tecnico corso Informatico.
    Vi scrivo perchè oggi mi sono imbattuto in un esercizio che io credo di aver svolto nella maniera corretta ma una volta provato l'avvio nel browser il Bottone non eseguiva niente.
    Ho provato quindi a scrivere tutto nella stessa maniera del libro ma il risultato non cambia: Il bottone sembra non funzionare.
    Questa è la pagina come scrive il libro:
    codice:
    <html>
    <head>
    
    <title>Caselle di Testo</title>
    <script language="javascript">
    <!--
    
    function controlla()
    {
        nom= invia.nome.value;
        cognom= invia.cognome.value;
        ann= invia.anno.value;
        datasist = new Date();
        if (datasist.getYear() - ann < 18) 
              tipo= "minorenne";
        else
              tipo= "maggiorenne";
        alert ("Ciao" + nom + " " + cognom +".Tu sei " + tipo);
    
    }
    -->
    </script>
    </head>
    <body>
    <h3>Benvenuto</h3>
    <form name"invia">
    Nome: <input type="text" name="nome" ><br>
    Cognome: <input type="text" name="cognome"  ><br>
    Anno di Nascita: <input type="text" name="anno" size="4">
    <br>
    <input type="button" value="invia" onClick="controlla();">
    </form>
    </body>
    </html>
    Mi affido a voi anche perchè essendomi approcciato da poco al Javascript ho le idee poco chiare..
    Attendo vostra risposta
    Grazie.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao e benvenuto, premesso che questa domanda dovevi farla al tuo professore (pagato per istruirti) per la mia esperienza (da autodidatta) se l'esempio del libro è esattamente scritto come l'hai riportato ed è il testo ufficiale, io cambierei libro (sembrerebbe un libro vecchio) e lo farei presente al professore per i seguenti motivi:
    A) le variabili vanno dichiarate con var
    B) la sintassi abbreviata (senza document) nomeform.nomecampo.value non è "digerita" da tutti i browser meglio usare la versione document.nomeform.nomecampo.value e oggi come oggi il DOM http://www.html.it/page/risultati-de...Guida%20DOM%20 è d'obbligo
    C) le condizioni (if/else) meglio definirle con le graffe {} così da delimitare l'azione
    D) l'anno (se non ricordo male dopo il duemila) con getFullYear
    E) recuperando dei numeri da un form meglio forzare il dato (che potrebbe essere interpretato da js come stringa) con parseFloat (numero con decimali) o (nel tuo caso) parseInt (numero intero)
    per ulteriori chiarimenti credo che il tuo professore saprà certamente aiutarti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    3
    Grazie mille Andrea.
    Hai ragione dovrei chiedere al mio professore ma, per conto mio, sono andato un pò avanti col programma. :P
    Mea Culpa

    Ti ringrazio ancora per la tua risposta esaustiva.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    3
    Andrea ho seguito i tuoi consigli ma il problema persiste... Dove sbaglio?
    codice:
    <html>
    <head>
    
    <title>Caselle di Testo</title>
    <script language="javascript">
    <!--
    
    function controlla()
    {
        var nom= document.invia.nome.value;
        var cognom= document.invia.cognome.value;
        var ann= document.invia.anno.value;
        var datasist = new Date();
        if (datasist.getFullYear() - ann < 18) 
              {tipo= "minorenne";}
        else
              {tipo= "maggiorenne";}
              
        alert ("Ciao" + nom + " " + cognom + ".Tu sei " + tipo);
    
    }
    -->
    </script>
    </head>
    <body>
    <h3>Benvenuto</h3>
    <form name"invia">
    Nome: <input type="text" name="nome" ><br>
    Cognome: <input type="text" name="cognome"  ><br>
    Anno di Nascita: <input type="text" name="anno" size="4">
    <br>
    <input type="button" value="invia" onClick="controlla();">
    </form>
    </body>
    </html>
    P.S. Il libro si chiama EPROGRAM e la prima edizione risale a gennaio 2012 :/

  5. #5
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Come ti diceva darkhero, occhio a <form name="invia">. Occhio anche a <script language="javascript">: si tratta di una scrittura deprecata. Oggi si usa: <script type="text/javascript">[…]</script>.
    Dal tipo di codice si vede che usi un libro datato. Provo ad ammodernartelo un po'. Magari dagli un'occhiata…

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Caselle di Testo</title>
    <script type="text/javascript">
    function numbersOnly (oKeyEvent) {
        return oKeyEvent.charCode === 0 || /\d/.test(String.fromCharCode(oKeyEvent.charCode));
    }
    
    function controlla () {
        var nom = document.invia.nome.value;
        var cognom = document.invia.cognome.value;
        var ann = parseFloat(document.invia.anno.value);
        var tipo = (new Date()).getFullYear() - ann < 18 ? "minorenne" : "maggiorenne";
          
        alert ("Ciao" + nom + " " + cognom + ".Tu sei " + tipo);
    
    }
    </script>
    </head>
    <body>
    <h3>Benvenuto</h3>
    <form name="invia">
    <p>
        Nome: <input type="text" name="nome" /><br />
        Cognome: <input type="text" name="cognome" /><br />
        Anno di Nascita: <input type="text" name="anno" size="4" maxlength="4" onkeypress="return numbersOnly(event);" onpaste="return false;" />
    </p>
    <p>
        <input type="button" value="invia" onClick="controlla();">
    </p>
    </form>
    </body>
    </html>
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro 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.