首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否防止表单在提交时重定向或刷新?

是否防止表单在提交时重定向或刷新?
EN

Stack Overflow用户
提问于 2009-08-12 01:50:00
回答 5查看 308.8K关注 0票数 98

我搜索了一大堆页面,但找不到我的问题,所以我不得不写一篇文章。

我有一个表单,它有一个提交按钮,当提交时,我希望它不刷新或重定向。我只想让jQuery执行一个函数。

表单如下:

代码语言:javascript
复制
<form id="contactForm">
    <fieldset>
        <label for="Name">Name</label>
        <input id="contactName" type="text" />
    </fieldset>

    <fieldset>
        <label for="Email">Email</label>
        <input id="contactEmail" type="text" />
    </fieldset>

    <fieldset class="noHeight">
        <textarea id="contactMessage" cols="20"></textarea>
        <input id="contactSend" class="submit" type="submit" onclick="sendContactForm()" />
    </fieldset>
</form>        
<small id="messageSent">Your message has been sent.</small>

下面是jQuery:

代码语言:javascript
复制
function sendContactForm(){
    $("#messageSent").slideDown("slow");
    setTimeout('$("#messageSent").slideUp();$("#contactForm").slideUp("slow")', 2000);
}

我试过在表单上使用和不使用action元素,但不知道我做错了什么。更让我恼火的是,我有一个很好的例子:Example Page

如果你想看我的问题实况转播,去stormink.net (我的网站),看看侧边栏上写着“给我发邮件”和"RSS订阅“。这两个都是我想让它生效的表单。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-12 01:53:21

只需处理submit事件上的表单提交,并返回false:

代码语言:javascript
复制
$('#contactForm').submit(function () {
 sendContactForm();
 return false;
});

提交按钮上不再需要onclick事件:

代码语言:javascript
复制
<input class="submit" type="submit" value="Send" />
票数 186
EN

Stack Overflow用户

发布于 2009-08-12 01:57:45

这里:

代码语言:javascript
复制
function submitClick(e)
{
     e.preventDefault();
     $("#messageSent").slideDown("slow");
     setTimeout('$("#messageSent").slideUp();
     $("#contactForm").slideUp("slow")', 2000);
}

$(document).ready(function() {
    $('#contactSend').click(submitClick);
});

不使用onClick事件,而是使用jQuery将一个'click‘事件处理程序绑定到提交按钮(或其他任何按钮),这将接受submitClick作为回调。我们将事件传递给回调以调用preventDefault,这将阻止单击提交表单。

票数 19
EN

Stack Overflow用户

发布于 2015-06-23 11:46:54

在表单的开始标记中,设置操作属性,如下所示:

代码语言:javascript
复制
<form id="contactForm" action="#">
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1263852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档