2016-05-08 4 views
1

私はGoogle Apps Mailを使用して電子メールを生成するフォームを持っています。本当にやりたいことは、Submitを押した後に別のページに移動しないようにすることです。フォームを提出した後のベストソリューション?

何が最善の方法ですか?私はjQueryを今学ぶので、その中のソリューションは大歓迎です。

<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> 

ありがとうございます。

答えて

1

フォームの「送信」イベントをJavascriptでインターセプトできます。 「送信」イベントをキャッチし、action属性で指定されたURLにフォームをPOSTすることであろうイベントのデフォルトアクションを、防ぐことができます

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

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

    // .... 
}); 

。フォームからonsubmit属性を削除し、すべてを1か所で処理します。

次に、自分でデータを送信する必要があります。最も簡単な方法は、jQueryの$.post()または$.ajax()関数と$('gform').serialize()を一緒に使用して、フォームのデータフィールドを文字列に変換してPOST可能な状態にすることです。

関連する問題