javaweb 页面修改操作问题!!

greatmind829 2010-06-29 10:57:34
页面修改操作,弹出一个页面,如果我在这个页面没有做任何的修改,点确定是则“弹出,没有做任何的修改,无需保存” 当页面初修改了,则弹出“修改成功” 。难道要一个一个表单的对比吗?这也太麻烦了吧!
有没有更好的解决方案。。
请告知,谢了。。
...全文
309 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatmind829 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 dr_lou 的回复:]
需求可以改为:
如果用户没有键入任何东西,提示“弹出,没有做任何的修改,无需保存”,否则进行保存。

另外,即使用户执行了A->B,B->A的操作,又有多少用户无聊的点击保存呢?
即使有,我劝你也不用判断,直接UPDATE!没什么性能影响的。
[/Quote]
那如何知道用户没有输入新的东西呢!
dr_lou 2010-06-30
  • 打赏
  • 举报
回复
需求可以改为:
如果用户没有键入任何东西,提示“弹出,没有做任何的修改,无需保存”,否则进行保存。

另外,即使用户执行了A->B,B->A的操作,又有多少用户无聊的点击保存呢?
即使有,我劝你也不用判断,直接UPDATE!没什么性能影响的。
greatmind829 2010-06-30
  • 打赏
  • 举报
回复
不知还有什么更好的方法可以解决。
一个一个对比这样也太麻烦了。
谢谢各位的耐心讲解。。

突然想问一下
这个需求有必要吗?
jnhcd 2010-06-30
  • 打赏
  • 举报
回复
如果需要你要的效果的话估计还是得要一个一个去比较,但是一般情况下,你说的效果没有必要,即使没有修改,也要做更新,你说的check没有必要性。

单纯的要实现这种功能的话,可能有其他方法,希望有高手解决!
jnhcd 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xtbzqw 的回复:]
你要是不想一个个比对,可以用这种方法,用事件驱动的方法,每个表单的元素添加一个onchange事件的处理函数,不过这样高的话,我感觉不如一个个去比对!
[/Quote]

onchange事件肯定不行,例如把一个test的值首先是A->B,触发onchange事件以后,B->A,又触发了,但是test的值没变。。
xtbzqw 2010-06-30
  • 打赏
  • 举报
回复
你要是不想一个个比对,可以用这种方法,用事件驱动的方法,每个表单的元素添加一个onchange事件的处理函数,不过这样高的话,我感觉不如一个个去比对!
emon123 2010-06-30
  • 打赏
  • 举报
回复
建议还是在后台进行比较,比较两个对象是否相等,相等的话传个标识到前台!
taohuawuzhu 2010-06-30
  • 打赏
  • 举报
回复
有这个需求只能一个个比较,一般都如果客户没有修改点了提交,就按默认值修改就行了,所以不用判断
lixkyx 2010-06-30
  • 打赏
  • 举报
回复
有一个办法。
定义一个Java Bean你的页面上所有表单都通过Bean来接受输入数据,这样,当你点“确定”时,在后台比较前后两个对象是否一致——当然,需要预先定义判断Bean对象一致的方法。
greatmind829 2010-06-30
  • 打赏
  • 举报
回复
这个一个一个比较太难搞了
得了,不比较了。。。
去跟经理说一说。。

学习ing 2010-06-30
  • 打赏
  • 举报
回复
要得到这样的效果、必须是要去比较、只不过是比较的方法不一样而已
javaasdfkkk 2010-06-30
  • 打赏
  • 举报
回复
Struts框架中,每一个页面和Action一般都有这样的对应的 html form 数据缓存对象。
javaasdfkkk 2010-06-30
  • 打赏
  • 举报
回复
在服务器端进行比较,把原来的数据缓存起来,当页面提交时,比较新的数据与原来的数据是否一样,即可。

把一个jsvs.sql.数据查询结果返回给客户端之前 需要转换成html form在服务器端对应的数据缓存对象,对这个对象序列化就是一种缓存方法。

然后比较,ok。
yuyue618 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 greatmind829 的回复:]

引用 1 楼 epiphone 的回复:
用jquery 当点击确定按钮 调用下面的ajax方法
xx.action 里面做个判断 如果里面的userbean是空则返回0 否则返回1

HTML code

$.ajax({
type: "POST",
url: "xx.action",
data:$("#form1").serialize(),
success: funct……
[/Quote]

可以在加载完显示前序列化form取得用户修改前的值.
<script>
var oldData = null;
$(function(){
oldData = $("#form1").serialize();
});

//表单提交事件
function chk(){
var newData = $("#form1").serialize();
if(newData == oldData ){
alert('没有做任何的修改,无需保存');
return false;
}
}
</script>

这样就比一个个的取值比要方便一点. 不说说白了. jquery还是一个个取值了然后拼成了串. 只是比自己取方便一点.
yangxuebao123 2010-06-29
  • 打赏
  • 举报
回复
我帮你想了一个方法,

表单验证法,只要,你的表单里面的文本框不是有个默认值value,

你加载页面的时候给它一个默认值,就是你从数据库加载出来的值,提交修改表单时,写个验证,就行了。


不过还是要一个一个的去对比,不然怎么办啊。。
mndn_nana 2010-06-29
  • 打赏
  • 举报
回复
这个需求有点意思
Epiphone 2010-06-29
  • 打赏
  • 举报
回复
用jquery 当点击确定按钮 调用下面的ajax方法
xx.action 里面做个判断 如果里面的userbean是空则返回0 否则返回1

$.ajax({
type: "POST",
url: "xx.action",
data:$("#form1").serialize(),
success: function(msg){
if(msg==0){
alert("没有做任何的修改,无需保存");
window.location.reload();
}else{
alert("修改成功");
}
}
});
greatmind829 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 epiphone 的回复:]
用jquery 当点击确定按钮 调用下面的ajax方法
xx.action 里面做个判断 如果里面的userbean是空则返回0 否则返回1

HTML code

$.ajax({
type: "POST",
url: "xx.action",
data:$("#form1").serialize(),
success: function(msg){
……
[/Quote]

如果很多都要这样判断那不是很麻烦啊!
greatmind829 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangxuebao123 的回复:]
我帮你想了一个方法,

表单验证法,只要,你的表单里面的文本框不是有个默认值value,

你加载页面的时候给它一个默认值,就是你从数据库加载出来的值,提交修改表单时,写个验证,就行了。


不过还是要一个一个的去对比,不然怎么办啊。。
[/Quote]

是啊! 我也在问这个问题啊!
有没有更好的方法呢!
greatmind829 2010-06-29
  • 打赏
  • 举报
回复
你们做修改操作有没有这样做啊!
我不知道别人是如何做的。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧