Problema richiamo funzione

Francesco Monti

Utente Attivo
12 Feb 2016
35
0
0
Ciao a tutti, ecco il mio problema:
ho due file, uno .html ed uno .js in cui è contenuta la funzione per l'invio di un'email, solo che quando la cerco di richiamare non dà segni di vita!
HTML:
<form name="modulo" id="modulo">
Email:<br />
<input type="text" name="email"> <br />

Oggetto:<br />
<input type="text" name="oggetto"> <br />

Messaggio:<br />
<textarea name="messaggio" rows="10" cols="30"></textarea>  <br />
<input type="button" value="Invia" onClick=Email();>
</form>

Come vedete, cerco di richiamare la funzione nel momento in cui clicco il tasto "Invia".
Ecco la funzione:
Codice:
 function Email() {
    var email = document.modulo.email.value;
    var oggetto = document.modulo.oggetto.value;
    var messaggio = document.modulo.messaggio.value;
   
    if ((email.indexOf("@") == (-1)) || (email == "") || (email == "undefined")) {
        alert("Inserire un indirizzo email valido.");
        document.modulo.email.focus();
    }
    else if ((oggetto == "") || (oggetto == "undefined")) {
        alert("Inserire un oggetto.");
        document.modulo.oggetto.focus();
    }
    else if ((messaggio == "") || (messaggio == "undefined")) {
        alert("Inserire un messaggio.");
        document.modulo.messaggio.focus();
    }
    else {
        location.href = "mailto:[email protected]" + email + "?Subject=" + oggetto + "&Body=" + messaggio; 
    }
}
Qualcuno saprebbe spiegarmi perchè non va?? Grazie mille a tutti!
 
Ciao, mancano gli apici
Codice:
onclick="Email()"
gli eventi scrivili in minuscolo per una maggiore compatibilità dei browser.
non vedo l'inclusione del file js
 
Ciao, mancano gli apici
Codice:
onclick="Email()"
gli eventi scrivili in minuscolo per una maggiore compatibilità dei browser.
non vedo l'inclusione del file js

Hai ragione, qui ho incluso il file js
Codice:
 <script language=”JavaScript” type=”text/JavaScript” src="../scripts/Script1.js"></script>
Ora ho corretto con gli apici ma continua a non andare :(
 
la funzione si chiama email,
il campo si chiama email,
forse fa confusione,
prova a differenziare il nome della funzione (xemail ... )
ciao
Marino
 
la funzione si chiama email,
il campo si chiama email,
forse fa confusione,
prova a differenziare il nome della funzione (xemail ... )
ciao
Marino

Ciao e grazie per aver risposto :)
Ho cambiato il nome della funzione ma nulla, continua a non andare...

EDIT:
Ho provato ad aprire il file su Chrome con la console aperta, e quando vado per cliccare "Invia" ecco cosa mi da:

Uncaught ReferenceError: xEmail is not defined

Credo significhi che non riesce a collegarsi con il file esterno .js?
 
Ultima modifica:
Credo significhi che non riesce a collegarsi con il file esterno .js?
può essere, ti allego lo script che ho provato e ti assicuro che con ie11 funziona
ciao
Marino
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>onClick</title>
<script type="text/javascript">
function xemail()
    {
    alert("hai cliccato il bottone");
    var email = document.modulo.email.value;
    var oggetto = document.modulo.oggetto.value;
    var messaggio = document.modulo.messaggio.value;
    if ((email.indexOf("@") == (-1)) || (email == "") || (email == "undefined"))
        {
        alert("Inserire un indirizzo email valido.");
        document.modulo.email.focus();
        }
    else
        {
        if ((oggetto == "") || (oggetto == "undefined"))
            {
            alert("Inserire un oggetto.");
            document.modulo.oggetto.focus();
            }
        else
            {
            if ((messaggio == "") || (messaggio == "undefined"))
                {
                alert("Inserire un messaggio.");
                document.modulo.messaggio.focus();
                }
            else
                {
                location.href = "mailto:[email protected]; " + email + "?Subject=" + oggetto + "&Body=" + messaggio; 
                }
            }
        }
    }
</script>
</head>
<body>
<form name="modulo" id="modulo">
Email:<br />
<input type="text" name="email"> <br />
Oggetto:<br />
<input type="text" name="oggetto"> <br />
Messaggio:<br />
<textarea name="messaggio" rows="10" cols="30"></textarea>  <br />
<input type="button" value="Invia" onClick="javascript:xemail()">
</form>
</body>
</html>
 

Discussioni simili