用AJAX提交一个HTML 5表单

Submit a HTML 5 Form with AJAX?

本文关键字:一个 HTML 表单 AJAX 提交      更新时间:2023-09-26

我在用ajax提交表单时遇到了一些麻烦。

由于HTML5表单已经在输入标签中有"required"验证,所以不需要javascript验证检查。然而,正因为如此,我不知道如何使用javascript(jQUERY)提交表单后,这些验证检查已通过。换句话说,我如何知道验证检查是否已经通过?

e。旅客:条件? ?(在加载提交的页面之前,我应该设置什么条件?)("div ") .load (finishSubmittingForm.html)

)};

任何想法?

谢谢

有一些可用的API方法。看到 developer.mozilla.org

然而,我强烈建议你在依赖HTML5验证之前仔细考虑一下。在这个时间点上,它肯定有一些主要的缺点,因为它仍然处于"婴儿期"。我想说,现在,你最好使用JS验证库;jQuery验证是优秀的

from specification:

如果用户按下提交按钮。浏览器必须首先验证表单,如果表单有效,则触发提交事件。

这意味着,您可以简单地挂钩到表单的提交事件,并启动您的ajax。

$('form').bind('submit', function(){
    //Ajax implementation here
});

但是,Opera有一个非常严重的错误。Opera首先触发提交事件,然后验证表单。

你可以通过使用HTML5的验证方法来解决这个问题。它看起来像这样:

$('form').bind('submit', function(){
    if(!this.checkValidity || this.checkValidity()){
        //Ajax implementation here
    }
});

关于HTML5表单规范的当前状态。有一些部分应该扩展表单规范。目前在FF4和其他版本中实现的功能(FF4的表单功能比Opera和Chrome少,但实现得很好)已经足够稳定,可以用于生产。

如果你想在所有浏览器中使用HTML5表单,我建议使用webshims的HTML5表单填充。它不仅填充了不具备表单功能的浏览器,还修复了一些浏览器中没有按照规范实现表单功能的bug,例如,上面提到的Opera bug将被自动修复。