Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    codice form mail + allega file

    Ciao a tutti, sto impazzendo perchè non ne capisco una mazza...comunque vi spiego il problema. Sto cercando di integrare la funzione di un form mail ad un'altro...ossia...sto cercando di aggiundere la possibilità di allegare un jpg a un form mail ma non so che casino ho creato....bè non mi va qualcuno saprebbe aiutarmi a livello di codice? grazie.

    al mio form ho aggiunto un tasto (selezione il file dal mio hd) e un campo di testo (visualizza il nome del file selezionato), non capisco dove sbaglio


    magari vi posto il sorgente se vi capite meglio.


    errore_invio._alpha = 0;
    errore_server._alpha = 0;
    errore_mail._alpha = 0;
    notifica_inviato._alpha = 0;

    MovieClip.prototype.fadeAlpha = function(to:Number) {
    var t:Object = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.None.easeNone, this._alpha, to, 1, true);
    t.path = this;
    t.onMotionFinished = function() {
    this.path.onFadeDone();
    };
    };

    var obj:Object = new Object();


    var validate = function (mail_field:String):Boolean {
    var temp = this[mail_field].text.split(" ").join("");
    var r:Boolean = (temp.length<=0) ? false : true;
    return r;
    };

    var checkMail:Function = function (target:MovieClip, nameField:String):Boolean {
    var temp:String = target[nameField].text;
    temp = temp.split(" ").join("");
    if (temp.length>0) {
    if (temp.lastIndexOf("@")>-1) {
    var temp2 = temp.split("@");
    if (temp2[1].length>5) {
    var temp3 = temp2[1].split(".");
    if (temp3[0].length>2 && temp3[1].length>1) {
    return (true);
    }
    return (false);
    }
    return (false);
    }
    return (false);
    }
    return (false);
    };

    var alert_report:Function = function (c:Number) {
    switch (c) {

    case 0 :
    notifica_inviato.onFadeDone = function() {
    this.onFadeDone = undefined;
    var intv = setInterval(function () {
    notifica_inviato.fadeAlpha(0);
    clearInterval(intv);
    }, 1000);
    };
    notifica_inviato.fadeAlpha(100);
    break;
    ti
    case 1 :
    errore_invio.onFadeDone = function() {
    this.onFadeDone = undefined;
    var intv = setInterval(function () {
    errore_invio.fadeAlpha(0);
    clearInterval(intv);
    }, 1000);
    };
    errore_invio.fadeAlpha(100);
    break;

    case 2 :
    errore_server.onFadeDone = function() {
    this.onFadeDone = undefined;
    var intv = setInterval(function () {
    errore_server.fadeAlpha(0);
    clearInterval(intv);
    }, 1000);
    };
    errore_server.fadeAlpha(100);
    break;
    case 3 :
    errore_mail.onFadeDone = function() {
    this.onFadeDone = undefined;
    var intv = setInterval(function () {
    errore_mail.fadeAlpha(0);
    clearInterval(intv);
    }, 1000);
    };
    errore_mail.fadeAlpha(100);
    break;
    }
    };
    var campi:Array = new Array("nome", "cognome", "eta", "telefono", "cellulare", "mail", "regione", "citta", "cap", "provincia", "sesso", "settore", "occupazione", "possiede", "altezza", "occhi", "capelli", "nome_genitore", "cognome_genitore", "data_genitore", "luogo_genitore", "citta_genitore", "tel_genitore" );
    var campiObbligatori:Array = new Array("nome", "cognome", "eta", "mail");
    this["mail"].restrict = "^ ";
    for (var i = 0; i<campi.length; i++) {
    var l:Number = i+1;
    this[campi[i]].tabIndex = l;
    }

    invia_form.onRelease = function() {

    var lv_sendMail:LoadVars = new LoadVars();

    for (var m = 0; m<campi.length; m++) {
    if (campiObbligatori.toString().indexOf(campi[m])>=0) {
    if (validate(campi[m])) {
    if (campi[m] != "mail") {
    lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    } else {
    if (checkMail(this._parent, campi[m])) {
    lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    } else {
    alert_report(3);
    break;
    }
    }
    } else {
    alert_report(1);
    break;
    }
    } else {
    lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    }

    if (m>=campi.length-1) {
    lv_sendMail.sendAndLoad("sendmail.php", lv_sendMail, "POST");
    }
    }

    obj.onSelect = function(){
    output_txt.text = "";
    if (file_ref.size <= 110000) {
    foto.text = file_ref.name;
    } else {
    }
    }

    obj.onSelect = function(){
    output_txt.text = "";
    if (file_ref.size <= 110000) {
    foto.text = file_ref.name;
    } else {
    }
    }

    file_ref.addListener(obj);

    browse_btn.clickHandler = function(){
    file_ref.browse([{description: "jpg", extension: "*.JPG;*.jpg"}]);
    }

    send_btn.clickHandler = function(){
    if(foto.text!=""){
    var sender:String = sender_txt.text;
    var senderemail:String = email_txt.text;
    var sendermessage:String = message_txt.text;

    file_ref.upload("sendmail.php?fromname="+sender+"& fromemail="+senderemail+"&message="+sendermessage+ "&attach=true");

    } else {
    sendMail()
    }
    this.enabled = false
    }

    lv_sendMail.onLoad = function(ok) {
    if (ok) {
    if (this.report == "OK") {
    alert_report(0);
    reset_form.onRelease();
    } else {
    alert_report(2);
    }
    } else {
    alert_report(2);
    }
    };
    };
    reset_form.onRelease = function() {
    for (var r = 0; r<campi.length; r++) {
    this._parent[campi[r]].text = "";
    }
    };

  2. #2
    C'è nessuno che può aiutarmi?

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    allora le cose stanno così, quando ho scritto quel codice non ho preso minimamente in considerazione la possibilità di aggiungere un "allega file" al form
    in altri sorgenti che ho visto la cosa quando si allegano anche i file diventa decisamente diversa rispetto al codice proposto, e mi viene da dire che sarebbe più facile riscriverlo da zero piuttosto che integrare uno script per l'upload in quello già scritto

    al tuo posto, se hai fretta, prenderei in considerazione altri form che già prevedono nativamente questo processo, da poco ne ha postato uno un altro utente con un problema come il tuo e se non ricordo male aveva lasciato anche il link al sorgente, prova a scorrere i thread recenti, dovresti trovarlo con un titolo simile al tuo

  4. #4
    ok grazie And80, credevo fosse più semplice integrare il tutto che riscrivere il codice da capo. Dò un'occhiata in giro

  5. #5
    Ecco And80 forse ti riferivi a questo link l'ho provato, ma non è ben fatto come il tuo, manca perfino il ceck mail, anche se non compili i campi invia lo stesso la mail e integrando il codice tuo fa un macello

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    sì mi riferivo a quello, sapevo solo che aveva anche l'integrazione dell'allegato, non ho idea di come sia stato effettivamente strutturato... il problema è che non mi ci posso dedicare per unire i codici

  7. #7
    ok And80 era appunto questo il favore che chiedevo, siccome il form sviluppato da te penso sia uno dei migliori trovati spulciando dalla ricerca, volevo capire se si poteva rendere completo al massimo integrando il codice dell'altro form. Lo farei io se ne fossi capace, ma sono solamente un grafico he he. Comunque grazie lo stesso per la disponibilità...se ti avanza del tempo libero, un giorno, sappi che ti aspetto ciaoooo

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.