gpt4 book ai didi

javascript - jQuery:在序列化之前保留表单值?

转载 作者:行者123 更新时间:2023-12-02 19:32:51 24 4
gpt4 key购买 nike

我正在使用 jQuery serialize() 函数收集表单中的数据并使用 jQuery Ajax“post”方法提交到服务器,如下所示: var params = jQuery('#mainContent form').serialize() ;.
我看到的奇怪的事情是我的表单中的序列化数据包含旧数据。这意味着,我对表单的所有更改(输入到文本字段、在组合框中选择)都不会存储到 DOM 中,因此当 jQuery 调用 serialize() 时,它会收集出现的旧数据在我改变表格之前。我尝试检查该表单中的每个元素并调用 .val(),它仍然显示旧值。
那么我如何才能将所有更改保存到表单中,以便 serialize() 方法可以使用我输入的最新数据构建字符串?
这是我的代码片段,我在提交处理程序中调用了 serialize()

jQuery('.myFormDiv input.submit').click(function() {  
// Do something
// Collect data in form
var params = jQuery('#mainContent form').serialize();
// Submit to server
jQuery.post(url, params, successHandler);
}

非常感谢。

最佳答案

你什么时候调用序列化?它应该是 $('form').submit( [here] );听起来好像是在页面加载时调用它,然后将值输入到字段中,然后在之后使用。

编辑:

使用submit event而不是点击会捕获有人在文本字段中按 Enter 键。

jQuery('#mainContent form').submit(function() {  
// Collect data in form
var params = jQuery(this).serialize();
// Submit to server
jQuery.post(url, params, successHandler);
}

*上面的代码假设 url 是定义的并且 successHandler 是一个函数。

关于javascript - jQuery:在序列化之前保留表单值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11304036/

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