高人指点jsp修改页面优化问题

wygxz 发布于 2012/11/20 18:05
阅读 879
收藏 1
我有一个jsp页面。这是一个修改页面。 里边有很多input文本框,我现在有一个问题。
我怎么才能判断用户是否对这个页面中的数据进行过编辑。
如果编辑了。 我点保存会提交后台进行处理。
如果没有发生编辑,会给用户一个提示。
求高人指点一个好办法!
加载中
0
绝对零度
绝对零度
var values = {}; window.onload = function() { var elements = document.getElementsByTagName('input'); for(var element : elements) { values[element.id + element.name] + element.value; } } form.onsubmit = function() { var elements = document.getElementsByTagName('input'); for(var element : elements) { if(values[element.id + element.name] != element.value) { alert('有值被修改了,需要提交'); submit(); return; } } alert('没有值被修改。'); }
0
绝对零度
绝对零度
var values = {};

window.onload = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        values[element.id + element.name] + element.value;
    }
}

form.onsubmit = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        if(values[element.id + element.name] != element.value) {
		    alert('有值被修改了,需要提交');
			submit();
			return;
		}
    }
	
	alert('没有值被修改。');
}
0
绝对零度
绝对零度
var values = {};

window.onload = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        values[element.id + element.name] = element.value;
    }
}

form.onsubmit = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        if(values[element.id + element.name] != element.value) {
		    alert('有值被修改了,需要提交');
			submit();
			return;
		}
    }
	
	alert('没有值被修改。');
}
0
陶邦仁
陶邦仁

引用来自“绝对零度”的答案

var values = {};

window.onload = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        values[element.id + element.name] = element.value;
    }
}

form.onsubmit = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        if(values[element.id + element.name] != element.value) {
		    alert('有值被修改了,需要提交');
			submit();
			return;
		}
    }
	
	alert('没有值被修改。');
}

可以这样实现,不过最好是在input输入框中添加change事件,修改了,就将提交按钮置为可用,没修改则不可用,这样用户体验会更好。

luobin
luobin
回复 @wygxz : jquery,一个遍历全绑定onchange事件
w
wygxz
因为input框很多,每一个都添加change事件,我想不是一个好的解决办法。
0
陶邦仁
陶邦仁

引用来自“爪哇老妖”的答案

引用来自“绝对零度”的答案

var values = {};

window.onload = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        values[element.id + element.name] = element.value;
    }
}

form.onsubmit = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        if(values[element.id + element.name] != element.value) {
		    alert('有值被修改了,需要提交');
			submit();
			return;
		}
    }
	
	alert('没有值被修改。');
}

可以这样实现,不过最好是在input输入框中添加change事件,修改了,就将提交按钮置为可用,没修改则不可用,这样用户体验会更好。

在客户端缓存所有的values似乎也不是很好的方法吧,不太安全。

0
陶邦仁
陶邦仁

引用来自“爪哇老妖”的答案

引用来自“爪哇老妖”的答案

引用来自“绝对零度”的答案

var values = {};

window.onload = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        values[element.id + element.name] = element.value;
    }
}

form.onsubmit = function() {
    var elements = document.getElementsByTagName('input');
    for(var element : elements) {
        if(values[element.id + element.name] != element.value) {
		    alert('有值被修改了,需要提交');
			submit();
			return;
		}
    }
	
	alert('没有值被修改。');
}

可以这样实现,不过最好是在input输入框中添加change事件,修改了,就将提交按钮置为可用,没修改则不可用,这样用户体验会更好。

在客户端缓存所有的values似乎也不是很好的方法吧,不太安全。

有点编程经验的,都能帮你的values做修改,提交的数据就可能是违法的。
返回顶部
顶部