当前位置: 首页 > 面试题库 >

jQuery提交表单而无需重新加载页面

范豪
2023-03-14
问题内容

我对jQuery不太熟悉。我正在尝试制作一个无需重新加载页面即可在后台提交的表单。

我有一个隐藏的div,它显示并隐藏单击,在div内有一个表单。

我有两个问题:

1)表单验证失败时,仍将提交表单。我试图设置验证和提交代码的状态,if(validation == valid) { $.ajax.... }但无法正常工作。

2)提交表单后,div自动隐藏,因此看不到成功的消息。

这是代码:

$().ready(function() {

    // Validate the form when it is submitted, using validation plugin.
    var validator = $("#contactform").validate({
        errorContainer: container,
        errorLabelContainer: $(),
    onkeyup: false,
    onclick: false,
    onfocusout: false,
    errorPlacement: function (error, element) { 
error.insertBefore(element);    
}   
    });
});

$(function() {

    //This submits a form
$('input[type=submit]').click(function() {
        $.ajax({
            type: "POST",
            url: "contact.php",
            data: $("#contactform").serialize(),
            beforeSend: function() {
                $('#result').html('<img src="loading.gif" />');
            },
            success: function(data) {
                $('#result').html(data);
            }

        })
    })
})


//This shows and hides div onclick
$(document).ready(function(){   
        $(".slidingDiv").hide(); 
        $(".show_hide").show(); 
    $('.show_hide').click(function(){ 
    $(".slidingDiv").slideToggle(); 
    });
});

问题答案:

不应绑定到click事件(input[type=submit]),而应绑定到 submit 表单的事件。

$("form").on("submit", function (e) {
    e.preventDefault();

我也不确定验证。如果它异步运行,则需要回调。如果它同步运行,什么时候触发?提交表单时似乎应该完成此操作,除非您的验证插件单独执行此操作:

$("form").on("submit", function (e) {
    e.preventDefault();
    if ($(this).validate(options)) {
        $.ajax

使用e.preventDefault将防止重新加载,并应显示成功div。



 类似资料:
  • 问题内容: 我有一个分类广告网站,在显示广告的页面上,我正在创建“向朋友发送提示”表单… 因此,任何想要的人都可以将广告提示发送给某些朋友的电子邮件地址。 我猜该表格必须提交到php页面,对吗? 提交表单时,页面被重新加载…我不想要… 有什么办法可以使其不重新加载并仍然发送邮件?最好没有ajax或jquery … 谢谢 问题答案: 您需要提交ajax请求来发送电子邮件,而无需重新加载页面。 您的代

  • 问题内容: 我有一个分类广告网站,在显示广告的页面上,我正在创建“向朋友发送提示”表单… 因此,任何想要的人都可以将广告提示发送给某些朋友的电子邮件地址。 我猜该表格必须提交到php页面,对吗? 提交表单时,页面被重新加载…我不想要… 有什么办法可以使其不重新加载并仍然发送邮件?最好没有ajax或jquery … 谢谢 问题答案: 您需要提交ajax请求来发送电子邮件,而无需重新加载页面。 您的代

  • 提交表单时如何防止页面刷新?我希望能够单击“提交”,但不刷新页面,只需在按钮下返回一条消息,说“感谢您接受调查!我们一定会联系您的。” 我读了一些文章和问题说,最好的方法是通过AJAX实现它?我希望是否有其他方法可以做到这一点,但如果AJAX是唯一的方法,那么是否有一种代码可以让人容易理解它的功能。 非常感谢大家!

  • 问题内容: 我浏览了所有类似的帖子,但似乎无济于事。这就是我所拥有的 HTML: JavaScript / jQuery: 我无法做的是防止在按时刷新页面。我尽力尝试了每一个组合,包括内部。我也尝试使用和相反的相同结果。我无法解决这个问题,这真是疯了。由于某些设计原因,我尽可能使用超链接。非常感谢您的帮助。 问题答案: 像这样修改函数: 正如评论所提到的,通过事件: 更新2:

  • 我在一页上有许多表格。我想提交每一张表格而不需要重新加载页面。我尝试了很多方法,但都做不到。我有一张类似的表格。我也尝试过使用ajax,但做不到。请帮帮我。现在,我也无法在数据库中插入。 滑动分页

  • 问题内容: 我将如何更新每两秒钟在服务器上更新一次的映像,而无需用户按下刷新按钮,我的第一个猜测是ajax,但我之前从未真正使用过它。有人能指出我正确的方向吗? 编辑:忘记提及图像是由perl脚本生成的.gif-尝试通过url抓取它返回脚本 问题答案: 您的Perl脚本似乎有问题。尝试通过URL访问图像应该仍然返回图像。它应该返回二进制数据而不是脚本。您还应该将响应的Content- type标头