Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875

    messaggio nel pulsante quando si invia un modulo

    Buonasera
    ho un modulo che invio tramite ajax

    Inizialmente all'interno del pulsante di invio ho la scritta "invia"
    Appena clicco sul pulsante faccio comparire il messaggio "attendere..."

    L'invio viene effettuato senza alcun problema, solo che vorrei che una volta inviato si togliesse la scritta "attendere..." per far ritornare "invia", come potrei fare?

    Utilizzo il codice che ho inserito qui
    https://jsfiddle.net/89aebk2o/

    Grazie
    Ultima modifica di allin81; 29-01-2022 a 00:13 Motivo: aggiunta url per visualizzare il codice

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Quote Originariamente inviata da allin81 Visualizza il messaggio
    ho un modulo che invio tramite ajax
    [...]
    Scusa ma... nel link che hai postato manca proprio il codice dell'invio: è a quello che devi fare riferimento per farti notificare la fine dell'operazione e, di conseguenza, andare a ripristinare il testo sul pulsante come risposta.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    il problema è che volevo incollare le poche righe di codice qui, ma il forum mi blocca ed ho dovuto mettere una parte su quel sito

    in ogni caso ho fatto delle modifiche, adesso riesco ad ottenere il pulsante con la scritta iniziale "invia preventivo", che poi diventa "invio in corso" e poi torna ad essere "invia preventivo".

    L'unica cosa che non riesco a fare è caricare nella stessa pagina il messaggio di successo o di errore quando phpmailer invia l'email.
    Riprovo ad incollare il codice

    codice:
    <script>
    $("#invia-preventivo-<?=$id_hotel?>").submit(function(e) {
    
    
        e.preventDefault(); // avoid to execute the actual submit of the form.
    
    
        var form = $(this);
        var actionUrl = form.attr('action');
    
    
        $('#btn_invio-<?=$id_hotel?>').html('Invio in corso...');
        
        $.ajax({
            type: "POST",
            url: "invia_preventivo.php",
            data: form.serialize(), // serializes the form's elements.
            success: function(data)
            {
              $('#btn_invio-<?=$id_hotel?>').html('Invia Preventivo');
              $('#invio-preventivo-<?=$id_hotel?>').load('<span class="green">Il Preventivo è stato Inviato!</span>'); 
    
            }
        });
        
    });
    </script>
    Il messaggio voglio farlo comparire qui
    codice:
    <div id="invio-preventivo-<?=$id_hotel?>" align="center" style="margin-top:10px;"></div>
    mentre questo è il codice della parte finale del file con phpmailer che controlla se l'email è partita o meno:
    codice:
        //Contenuto dell'email
        $mail->isHTML(true);
        $mail->Subject = 'Preventivo';
    	$mail->Body= "$pagina";
    
    
    	$mail->AltBody = 'Questo testo arriva alle email non html';
    
    
        $mail->send();
     
        echo "<span class=\"green\">Preventivo Inviato</span>";
    } catch (Exception $e) {
        echo "<span class=\"red\">Attenzione, errore: {$mail->ErrorInfo}</span>";
    }
    Al momento mi compare la scritta "Il Preventivo è stato Inviato!" ma non lo prende dal file php.
    Come potrei sistemare? (spero che il forum mi faccia inviare sto messaggio)

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.