我有一个很大的表单有很多输入(表单可以有100多个值),这似乎是使用jquery.serialize()
回发到服务器时造成一些不稳定。选择表单值OnChange
通常,在表单提交之前,只有一个或两个值被更改,所以我想我只尝试提交已更改的值。只有我不知道该怎么做。
我想我想选择表单上的所有输入并在它们上调用jquery.change()
,然后以某种方式使用eventData
来确定哪些值已更改。
任何有关代码的帮助,或有关我如何去做这件事的替代想法,将不胜感激。
我想我应该提到,它是MVC-4。
以下是我到目前为止所使用的脚本。
$(document).ready(function() { $("#EditForm").find("input") .on("change", function (event) { var name = this.name; var value = this.value; var form = {}; form[name] = value; $.post("/Contracts/EditSingle", form, function (data) { $("#editContractResponse").html(data); }); }); });
这工作,但它在每一个输入编辑帖子。我喜欢关于找出哪些输入是脏的想法,但不知道如何实现这一点。
如果您将数据存储到数据库中,则可以使用JSON将其发送到后面的代码。如果你这样做了,你将不得不确保很多字段可以为空。这将导致您将有无效/不完整的数据条目。你是仅仅使用jQuery或者为你的代码使用任何东西? –
请将代码发布到目前为止。 –
无法捕获onChange事件并在表单字段中设置属性,如isDirty,然后在提交表单时检查哪些字段具有此属性。 – tsukimi