form表单提交

在一个编辑页面上,存在多个form,只有一个保存按钮,当我点击保存按钮时,怎么才能做到只提交我修改过的form呢?注:一个form里面的信息很多。

这个需求很矛盾
1、如何判断是修改过的呢? 如文本框 原来是 123 然后我修改为123算吗?
2、如果我同时修改多个form呢?提交第一个/最后一个?
3、如何判断修改呢?
查询每个表单的输入表单元素 注册onchange事件 专门找一个变量保存修改的表单元素(此时一定注意 只有一个表单修改有效 其他的无效。)

4、建议分多个表单 然后每个表单单独提交 简单 可以用fieldset来分块表单

亲,给每个form添加一个标识,用来标识form是否修改。最后在表单提交的时候,提交标识已修改的form即可~ :)

2中方法:
1.前台判断
加一个标识符。隐藏域,在每个from中又不同标识符。这个需要传入后台。
如果修改某一个控件的值。那么就把这个标识符修改为对应的值,这样需要在每个控件添加 change 事件 但有个弊端,比如:你一个文本框为原值为1233 修改后1234会触发change 完了我又修改为123 这样其实是没有修改的建议使用后台判断
2.后台判断
获取展示这页面的数据源 和提交的数据的值比较,如果变了,那么ok...

亲,楼上已经告诉你具体实现方式~ :evil:

假如有多个form
[code="java"]

...... ...... ......

[/code]
然后有一个保存按钮
[code="java"]

[/code]
当点击保存的时候js中代码,如果你想提交form1中的内容
[code="java"]
function save(){
form1.action="...";//此处想保存哪个form就改为哪个
form1.submit();
}
[/code]
以上是一个普通简单提交,如果用ajax提交
[code="java"]
function save(){
var params = jQuery("#form1").serialize();//此处想保存哪个form就改为哪个
jQuery.ajax( {
url : ".....",
type : "POST",
data : params,
dataType : "json",
success : callback
});
}
[/code]

基础知识。jquery的ajax提交方式多种。为什么一定要用多个form表单。而且多个form表单提交也不是什么难事。楼上写得很清楚了。