sách gpt4 ai đã đi

jquery - 如何将表单重置为上次保存(通过ajax)阶段

In lại 作者:行者123 更新时间:2023-12-01 04:43:29 28 4
mua khóa gpt4 Nike

问题是我正在使用 jQuery("form")[0].reset(); 在需要时重置表单。此方法正在将形式重置到初始阶段。这里初始阶段的意思是“表单第一次加载到页面时带有一些值的阶段”。

但我需要的是将表单重置为上次保存的阶段。

我正在做什么:vượt qua jQuery.ajax({----}); 保存表单数据,无需任何页面刷新。

什么是目标:sử dụng ajax 请求保存表单数据后,如果用户更改表单中的任何其他值但不想保存并选择重置形成最后保存的值。如何实现这一目标?因为 reset(); 会将表单重置为初始值。

任何帮助将不胜感激。

Cảm ơn

1 Câu trả lời

谢谢大家的回复。

我尝试根据 madalin ivascu 的评论实现解决方案。还找到了jsfiddle做同样的事情。经过一些修改/更改,我得到了我需要的东西。

第 1 步:编写自定义插件:

(function($) {
$.fn.deserialize = function (serializedString) {
var form = jQuery(this);
form[0].reset();
serializedString = serializedString.replace(/\+/g, "%20");
var formFieldArray = serializedString.split("&");
jQuery.each(formFieldArray, function(i, pair) {
var nameValue = pair.split("=");
var name = decodeURIComponent(nameValue[0]);
var value = decodeURIComponent(nameValue[1]);

var field = form.find("[name='" + name + "']");
if (field[0] != undefined) {
if (field[0].type == "radio" || field[0].type == "checkbox") {
var fieldWithValue = field.filter('[value="' + value + '"]');
var isFound = (fieldWithValue.length > 0);
if (!isFound && value == "on") {
field.first().prop("checked", true);
} khác {
fieldWithValue.prop("checked", isFound);
}
} khác {
field.val(value);
}
}
});
}
}(jQuery));

第 2 步:将序列化的表单数据保存在某处。

当您需要将表单重置为上次保存的阶段时,请使用:

yourForm.deserialize(serializedFormData);

关于jquery - 如何将表单重置为上次保存(通过ajax)阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33665696/

28 4 0
Bài viết được đề xuất: java - 文件开头有奇怪的字符?
Bài viết được đề xuất: jquery - Kendo UI 组合框虚拟化问题与少量本地数据
Bài viết được đề xuất: java - 编译 JavaFX 应用程序时出错
Bài viết được đề xuất: php - AJAX 调用破坏了 .droppy() 导航栏扩展
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com