2016-05-08 9 views
1

Ich habe ein Formular, das eine E-Mail mit Google Apps Mail erstellt, und ich möchte wirklich nicht auf die andere Seite gehen, nachdem ich auf Senden geklickt habe, obwohl ich möchte, dass die E-Mail immer noch generiert wird.Beste Lösung nach dem Absenden des Formulars?

Irgendwelche Ideen, was ist der beste Weg, es zu tun? Ich lerne jQuery jetzt, also sind Lösungen darin mehr als willkommen.

<form class="flex-form" id="gform" method="POST" action="https://script.google.com/macros/..../exec" onsubmit="return confirm('Do you really want to submit the form?');"> 
    <input id="formName" type="text" placeholder="Full Name" name="name" value="" required autocomplete="off"> 
    <br> 
    <input id="formNumber" type="tel" pattern="[0-9]*" placeholder="(0034) 606248059" name="phone-number" required autocomplete="off"> 
    <br> 
    <input id="formGeo" type="text" placeholder="Tap to share location" name="coordinates" required autocomplete="off"> 
    <br> 
    <input type="submit" name="submit" value="Send Us Request"> 
</form> 

Danke.

Antwort

1

Sie können das Ereignis "Senden" des Formulars mit Javascript abfangen.

$('gform').on('submit', function(event){ 
    event.preventDefault(); 

    if (! confirm('Do you really want to submit the form?')) 
     return false; 

    // .... 
}); 

, dass die „Eintragen“ Veranstaltung fangen und zu verhindern, die Standardaktion der Veranstaltung, die im action Attribute gegeben wäre, das Formular an der URL zu veröffentlichen. Entfernen Sie das onsubmit Attribut aus dem Formular, besser alles an einem Ort.

Als nächstes müssen Sie die Daten selbst senden. Der einfachste Weg besteht darin, entweder die $.post() oder $.ajax() Funktionen von jQuery zusammen mit $('gform').serialize() zu verwenden, um die Datenfelder des Formulars in einen String umzuwandeln, der für den POST bereit ist.