现在我有张表单 表单上有40个文本框,没做一次修改需要在历史库中加一条数据,和原始数据做对比。当前遇到的问题是:
环境为S1SH,当提交表单时用form能接收到页面上的所有文本框值,我需要将这些内容放到Map 或者 数组 或者拼接成字符串 然后和在数
据库中的原始数据相对比这样的效率很低,况且当对比到不一样的数据时还需要自己拼写html代码将其更改颜色。这样的话每次修改都需要加一条历史数据。 有没有更好的办法?
额 效率这个问题。。。不每个都对比下能找到哪些数据是不一样的嚒?。。。。这个不是效率的问题,而是必须要做的过程。 顶多在代码上改进一点,比如对文本框name统一一下,数据库字段名统一,比较的时候可以一个for循环搞定之类的,写代码的时候省力气,想不比较是不可能的吧
要优化也是优化那些历史记录里所有字段的值都是一样的历史记录
就是这样。。。。
其实没有完全明白你的意思
要不在页面里再放40个隐藏的文本框,分别对应原先的一个文本框?隐藏的文本框放原来未改的数据
用js来比较当前输入值和隐藏的文本框,如果不一样直接用js来改变文本框样式
如果有不一样再加入一条历史数据?
要不直接拿到新数据,再取出原来的数据,分别组成字符串,分别执行一次MD5加密,比较得到的hash值,不一样再对比每个字段
至于颜色,根本就不需要在后台生成html嚒,直接返回不一样的字段,可以用json字符串返回哪些文本框不一样,比如{result:[1,2,4]},直接用js获取json字符串,修改html样式