Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Validazione Campi Form

  1. #1

    Validazione Campi Form

    Scusate l'ignoranza, ma non riesco a farlo funzionare.

    Ho preso il codice per l'invio delle mail da aruba: formcdosys.asp
    e funziona tutto.

    Poi ho preso il codice javascript per la validazione dei campi su html.it
    e ho fatto delle correzioni per tenere la pagina contatti.html validata xhtml 1.0

    Avrò sicuramente sbagliato qualcosa modificando il javascript, ma praticamente dopo aver riempito tutti i campi, cliccando su invio , non parte niente e mi da questo errore.

    Riga 51
    Carattere 12
    Proprietà o metodo non supportati dall'oggetto

    Ecco il javascript per la validazione che ho cambiato.

    function check() {
    // Variabili associate ai campi del modulo
    var nome = document.getElementById("formmail").nome.value;
    var cognome = document.getElementById("formmail").cognome.value;
    var societa = document.getElementById("formmail").societa.value;
    var telefono = document.getElementById("formmail").telefono.value ;
    var email = document.getElementById("formmail").email.value;
    var testo = document.getElementById("formmail").testo.value;
    // Espressione regolare dell'email
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    //Effettua il controllo sul campo NOME
    if ((nome == "") || (nome == "undefined")) {
    alert("Il campo Nome è obbligatorio.");
    document.getElementById("formmail").nome.focus();
    return false;
    }
    //Effettua il controllo sul campo COGNOME
    else if ((cognome == "") || (cognome == "undefined")) {
    alert("Il campo Cognome è obbligatorio.");
    document.getElementById("formmail").cognome.focus( );
    return false;
    }
    else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
    alert("Inserire un indirizzo Email corretto.");
    document.getElementById("formmail").email.select() ;
    return false;
    }
    //Effettua il controllo sul campo TELEFONO
    else if ((isNaN(telefono)) || (telefono == "") || (telefono == "undefined")) {
    alert("Il campo Telefono è numerico ed obbligatorio.");
    document.getElementById("formmail").telefono.value = "";
    document.getElementById("formmail").telefono.focus ();
    return false;
    }
    //Effettua il controllo sul campo SOCIETA
    else if ((societa == "") || (societa == "undefined")) {
    alert("Il campo Società è obbligatorio.");
    document.getElementById("formmail").societa.focus( );
    return false;
    }
    //Effettua il controllo sul campo TESTO
    else if ((testo == "") || (testo == "undefined")) {
    alert("Il campo Testo è obbligatorio.");
    document.getElementById("formmail").testo.focus();
    return false;
    }
    //INVIA IL MODULO
    else {
    document.getElementById("formmail").action = "formcdosys.asp";
    document.getElementById("formmail").submit();
    }
    }

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma l'errore in che pagina è? Quale riga?

    Roby

  3. #3
    l'errore è nel javascript che ho postato,

    allora , cerco di spiegarmi meglio.

    Ho una pagina Contatti.html dove richiamo il file validazione.js (postato prima)

    <script type="text/javascript" src="validazione.js"></script>

    all'interno di questa pagina contatti c'è il form:

    -----------------------------------------------------------------------------------

    <form action="formcdosys.asp" method="post" id="formmail">
    <div class="CONTENTCONTATTI">
    <fieldset>
    <legend>Dati Personali</legend>
    <label for="nome">Nome*<input name="nome" id="nome" type="text" value="" /></label>
    <label for="cognome">Cognome*<input name="cognome" id="cognome" type="text" value="" /></label>
    <label for="email">Email*<input name="email" id="email" type="text" value="" /></label>
    <label for="telefono">Telefono*<input name="telefono" id="telefono" type="text" value="" /></label>
    <label for="societa">Società*<input name="societa" id="societa" type="text" value="" /></label>
    </fieldset></div>
    <div class="CONTENTCONTATTI">
    <fieldset class="fieldsetmessaggio">
    <legend>Messaggio</legend>
    <label for="oggetto">Oggetto<select name="oggetto" id="oggetto">
    <option selected="selected">Richiesta Informazioni</option>
    <option>Richiesta Preventivo</option>
    <option>Richiesta Incontro</option>
    </select></label>
    <label for="testo">Testo*<textarea name="testo" id="testo" rows="9" cols="60"></textarea></label>
    <div class="CENTRATO2">
    <input type="button" name="submit" value="Invia" onclick="check()" /><input type="reset" id="Reset" value="Cancella" /></div>
    </fieldset></div>
    </form>
    -----------------------------------------------------------------------------------

    Se io tolgo il js validazione e tolgo l'onclick, il form funziona , mi arriva la mail, ma non controllo i campi e quindi mi arrivano anche vuoti.

    Aggiungendo il js e l'onclick, mi controlla i campi ma mi da l'errore nel javascript quando clicco invio dal form:
    Riga 51
    Carattere 12
    Proprietà o metodo non supportati dall'oggetto


    Adesso non so se ho sbagliato a postare qua e dovevo farlo nel forum javascript, solo che non ci capisco molto di asp e js e magari la soluzione è nel dover cambiare codice asp per avere invio e validazione tutto in uno.
    Ciao e grazie

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non ha senso fare un controllo solo lato client... se uno disabilita i js i campi ti arriverebbero vuoti ugualmente.
    Il controllo client lo puoi "aggiungere" solo ad un controllo lato server.

    Roby

  5. #5
    Capito, grazie mille.
    Mi saresti ancora d'aiuto se potessi segnalarmi qualche esempio asp di controllo, se ne hai qualcuno a portata di mano.
    Se no cerco io, ma va a finire che mi leggo 200 cose che non c'entrano prima di trovarlo.
    Come mi è già successo per trovare l'asp che invia le mail
    Ciao e grazie per la risposta

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Vediamo la pagina asp...

    Roby

  7. #7


    <%
    '============Linkbruttocane su specifiche MSDN================
    '* il corpo finale del messaggio contiene tutti i campi *
    '* inseriti nella pagina html, in pratica puoi mettere *
    '* tutti i campi che ti servono nel modulo di invio senza *
    '* fare altre configurazioni aggiuntive. *
    '================================================= ============

    DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo

    '* voce da modificare con il proprio indirizzo email

    invioA = "info@xxxxx.com"

    '* voce da modificare con un indirizzo email che funga da mittente:
    '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON
    '* dato che cdosys supporta questa notifica

    invioDa = "info@xxxxxx.com"

    '------------fine modifiche necessarie------------------

    nomeDominio = Request.ServerVariables("HTTP_HOST")
    indirizzoIp = Request.ServerVariables("REMOTE_ADDR")
    modulo = Request.ServerVariables("HTTP_REFERER")
    browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT")

    '*rilevo i campi del form

    FOR numeroCampi = 1 TO (Request.Form.Count() - 1)
    IF NOT Request.Form(numeroCampi) = "" THEN
    corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi))
    END IF
    NEXT

    '* creo gli oggetti cdosys sul server e li gestisco

    DIM iMsg, Flds, iConf

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields

    Flds(cdoSendUsingMethod) = cdoSendUsingPort
    Flds(cdoSMTPServer) = "smtp.aruba.it"
    Flds(cdoSMTPServerPort) = 25
    Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
    Flds.Update

    With iMsg
    Set .Configuration = iConf
    .To = invioA
    .From = Request.Form("email")
    .Sender = invioDa
    .Subject = "Email dal sito " & nomeDominio
    .TextBody = "Questi i dati inseriti nel modulo presente alla pagina " & modulo & " da utente con indirizzo IP " & indirizzoIp & " browser e sistema operativo " & browserSistemaOperativo & vbCrLf & corpoMessaggio & ""
    .Send
    End With
    %>
    <script>
    document.location.replace('grazie.asp');
    </script>

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ogni campo da recuperare:

    codice:
    nome = trim(request.form("nome"))
    ...
    ...
    
    errore = ""
    if nome &"[]" = "[]" then
    errore = "Il campo Nome non è stato compilato"
    end if
    ....
    ....
    
    if errore = "" then
    'Mandi l'email
    else
    response.write (errore)
    end if
    Roby

  9. #9
    Che dire

    Questo si che è guadagnare tempo.

    Mille grazie ancora



  10. #10
    FUNZIONA!!!!!!!



    Piango per la gioia. GRAZIE!!!!!

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.