Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    19

    Campi del Form che NON passano all'e-mail

    Ciao a tutti, sono nuova qui, e questo è il mio nuovo problema riscontrato mentre sto testando un Form da cui scegliere dati da inviare in e-mail.

    Nel form ho 3 prodotti da selezionare. Li seleziono tutti e 3 ma quando mi arriva l'email vedo solo i primi due! Anche se spedisco il form senza scegliere i prodotti, poi in email vedo solo i primi due prodotti con valore=0. E il terzo perché NON passa?


    Ecco il codice del form e quello dello script di aruba, (ho usato il CDosys.asp che poi ho chiamato "cattura_form.asp", e nel cattura form ho messo la mia mail per farmi arrivare le prove che sto facendo.

    Grazie a chi vorrà aiutarmi. Sto facendo 1000 tentativi! :/
    Anna



    Codice Pagina Form:
    -------------------
    <html>
    <head>


    <script type="text/javascript">
    function selectValue(caller)
    {
    document.getElementById("txtRisultato").value = parseFloat(document.getElementById("PrimoProdotto" ).value) + parseFloat(document.getElementById("SecondoProdott o").value) + parseFloat(document.getElementById("TerzoProdotto" ).value);

    }
    </script>

    </head>

    <body>

    <form action="cattura_form.asp" method="post" name="form1">


    <table width="498" align="left" class="mceItemTable" id="" style="border-top: 0px solid; border-bottom: 0px solid; padding: 10px 6px 12px 10px; background-color: #ffffff; font-size: 14px; background-repeat: repeat-x; background-position: center top; text-align: left;" mce_style="border-top: 1px solid;
    border-bottom: 1px solid;
    padding: 10px 6px 12px 10px;
    background-color: #e9f3ff;
    font-size: 12px;
    background-repeat: repeat-x;
    background-position: center top;"><tbody><tr>
    <td colspan="2" id="" rowspan="1">Inserisci i tuoi dati<br mce_bogus="1"></td></tr>
    <tr>
    <td colspan="2" id="td"></td>
    </tr>

    <tr><td width="44%" style="text-align: left; font-size: 12px; font-weight: normal;" mce_style="text-align: left; font-size: 12px; font-weight: normal;"><span sugar="slot">Nome: </span></td><td width="56%" style="font-size: 12px; font-weight: normal;" mce_style="font-size: 12px; font-weight: normal;"><span sugar="slot"><input id="first_name" name="first_name" type="text"></span></td></tr>

    <tr>
    <td width="44%" style="text-align: left; font-size: 12px; font-weight: normal;" mce_style="text-align: left; font-size: 12px; font-weight: normal;"><span sugar="slot">Cognome: </span></td><td width="56%" style="font-size: 12px; font-weight: normal;" mce_style="font-size: 12px; font-weight: normal;"><span id="sprytextfield6">
    <input id="last_name" name="last_name" type="text" />
    </span></td></tr>

    <tr>
    <td width="44%" style="text-align: left; font-size: 12px; font-weight: normal;" mce_style="text-align: left; font-size: 12px; font-weight: normal;"><span sugar="slot">E-Mail: </span></td><td width="56%" style="font-size: 12px; font-weight: normal;" mce_style="font-size: 12px; font-weight: normal;"><input id="webtolead_email1" name="webtolead_email1" type="text" />
    </td> </tr>


    <tr align="left"><td colspan="10">


    Totale spesa: €

    <input name="totale_spesa" type="text" id="txtRisultato" value="0"/>


    <input type="submit" name="Submit" value="Invia ordine">
    </p></td></p>
    </td></tr>

    </tbody></table>

    </div>


    <table>

    <tr>
    <td></td></tr>
    </table>
    </div>


    <table width="100%" border="0">

    <tr>
    <td width="12%" height="20">Lista Prodotti</td></tr>
    <tr>
    <td>Primo prodotto:
    <select name="PrimoProdotto" id="PrimoProdotto" OnChange="javascript: selectValue(this);">
    <option value="0" selected>Scegli</option>
    <option value="6.00|500g">500g (€ 6,00) </option>
    <option value="12.00|1Kg">1Kg (€ 12,00) </option>
    </select>

    Secondo prodotto:
    <select name="SecondoProdotto" id="SecondoProdotto" OnChange="javascript: selectValue(this);">
    <option value="0" selected>Scegli</option>
    <option value="8.00|500g">500g (€ 8,00) </option>
    <option value="16.00|1Kg">1Kg (€ 16,00) </option>
    </select>
    Terzo prodotto::
    <select name="TerzoProdotto" id="TerzoProdotto" OnChange="javascript: selectValue(this);">

    <option value="0" selected>Scegli</option>
    <option value="9.00|500g">500g (€ 9,00) </option>
    <option value="18.00|1Kg">1Kg (€ 18,00) </option>
    </select>

    </td>

    </tr>
    </tr>
    </table>


    </div>
    </form>
    </div>
    </body>
    </html>



    Codice Script Aruba:
    --------------------


    <%
    '============ Istruzioni ================
    '* 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 = "tuamail@provider.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 = "tuamail@provider.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 = "Ordine prodotti " & 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>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    document.getElementById("txtRisultato").value = parseFloat(document.getElementById("PrimoProdotto").value) togli il parseFloat da tutti i prodotti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Il problema sta nel ciclo for della pagina ASP che scorre i campi
    codice:
    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
    FOR numeroCampi = 1 TO (Request.Form.Count() - 1)
    esclude l'ultimo campo (Request.Form.Count() - 1), presumibilmente perchè di solito l'ultimo input è il pulsante di invio.
    Nel tuo form invece l'ultimo "input" è la select del terzo prodotto che viene così esclusa dalla "lettura".
    Dovresti risolvere con:
    FOR numeroCampi = 1 TO Request.Form.Count()

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    19
    @Luca: Luca davvero grazie, è verissimo quello che hai scritto. Ho cambiato come hai detto e passa anche l'ultimo campo!

    @Andrea: Ho provato il tuo suggerimento di togliere il parsefloat da tutti i prodotti, ma sai cosa succede? che nella casella del totale spesa invece di venire l'importo in euro sommato di volta in volta, vengono in sequenza l'importo e la quantità acquistata, cosi che ad ogni scelta del prodotto la casella si riempi con la stringa: 10.00|1,5Kg,12.50|2,5Kg,8.40|500grammi etc...

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.