2016-05-08 3 views
1

У меня есть форма, которая генерирует электронное письмо с помощью Google Apps Mail, и все, что я действительно хочу сделать, это не переходить на другую страницу после нажатия «Отправить», хотя я хочу, чтобы он все еще генерировал электронное письмо.Лучшее решение после отправки формы?

Любые идеи, что это лучший способ сделать это? Я изучаю 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> 

Thanks.

ответ

1

Вы можете перехватить событие «отправить» формы с помощью Javascript.

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

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

    // .... 
}); 

Это будет поймать событие «подать» и предотвратить действие по умолчанию мероприятия, которое было бы для POST формы в URL, указанному в атрибуте action. Удалите атрибут onsubmit из формы, лучше обработайте все это в одном месте.

Затем вам необходимо отправить данные самостоятельно. Самый простой способ - использовать функции jQuery $.post() или $.ajax(), а также $('gform').serialize(), чтобы преобразовать поля данных формы в строку, готовую к отправке.

Смежные вопросы