提交表格后的最佳解决方案?

时间:2016-05-08 15:55:30

标签: javascript jquery html forms submit

我有一个使用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>

感谢。

1 个答案:

答案 0 :(得分:1)

您可以拦截表单&#34;提交&#34;使用Javascript进行活动。

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

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

    // ....
});

这将抓住&#34;提交&#34;事件并阻止事件的默认操作,即将表单POST到action属性中给出的URL。从表单中删除onsubmit属性,在一个位置更好地处理它。

接下来,您需要自己发送数据。最简单的方法是使用jQuery的$.post()$.ajax()函数以及$('gform').serialize()将表单的数据字段转换为字符串,准备发布。