gpt4 book ai didi

Jquery 表单插件还是 Jquery 序列化?

转载 作者:行者123 更新时间:2023-11-30 23:58:21 26 4
gpt4 key购买 nike

我想知道 jQuery Form Plugin 有何优势?已超过 serialization?

如果我选择使用表单插件,我可以使用新的 jQuery 1.5 功能吗?

表单插件是否有任何东西可以阻止多次回发?我通常使用 Ajax manager 插件来停止重复的 ajax 帖子,但我不认为我可以将它与表单插件一起使用。

谢谢

最佳答案

jQuery 表单插件提供了在表单中使用 ajax 的简单性。它将使用表单属性来确定提交表单的方式和位置。表单的方法属性告诉插件要使用的请求类型。表单的操作属性告诉它在哪里提交表单。

考虑这样的示例表单:

<form id="myform" action="submit.php" method="post">
<!--inputs and submit button go here-->
</form>

本质上它允许你写:

$('#myform').ajaxForm();

而不是

$.post("submit.php", $("#myform").serialize());

jquery Form 插件还允许您通过 Ajax 从代码中提交。

$('#myform').ajaxSubmit();

无论如何,jQuery 表单插件都会序列化表单,您必须在提交到服务器之前进行序列化。 jQuery 表单插件只是在后台序列化表单。上面的示例不处理来自服务器的任何响应。
使用下面的代码,您可以将响应附加到类属性包含“结果”的元素。

$('#myform').ajaxForm({ target : ".result"});

您可以使用 jQuery 支持的任何选择器作为目标选项。

我不确定您是否可以使用延迟方法。我对此表示怀疑,因为兼容性适用于 1.3.2+,并且 native ajax 方法包含在插件中。这样延迟对象永远不会从插件内部返回。

jQuery 表单确实有一个可以使用的 beforeSubmit 选项。所以添加到上面的代码我们得到:

$('#myform').ajaxForm({ target: ".result", beforeSubmit: function(arr, $form, options) {
// arr: The array of form data
// The array of form data takes the following form:
// [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]

//some code to check if we already submitted the form

// return false to cancel submit
}
});

但是,如果用户在提交表单后完成了页面,我建议不要这样做。它只会给您的客户端代码增加不必要的复杂性。如果用户在提交表单后在页面上执行其他操作,应该没问题。 jQuery Forms 插件有一个成功选项,如果服务器返回 200“OK”响应,则调用函数回调。您还可以查看该插件的作者网站 http://jquery.malsup.com/form/有关该插件的更多信息。

关于Jquery 表单插件还是 Jquery 序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5136995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com