ASP.NET mvc检测客户端更改
本文关键字:客户端 检测 NET mvc ASP | 更新日期: 2023-09-27 18:14:31
在我的应用程序中,我希望客户在没有更改特定表单中的值时不按提交。我可以在服务器端执行此操作,并向modelstate添加viewmodelerror。但是有没有一种方法可以用javascript在客户端做到这一点呢?
如果表单被编辑,你可以设置一个javascript变量。一种简单的方法是监听输入字段上的change事件:
var isChanged = false;
$('input,select,textarea').change(function() {
isChanged = true;
});
然后在提交前检查isChanged
。
这种方法不处理将值更改回原始值的问题。
如果你需要解决这个问题,你需要将表单状态保存在一个javascript对象中,并与之进行比较。
你可以添加这个来避免用户在表单发生变化时离开页面:
$(window).bind('beforeunload', function() {
if (isChanged) {
return 'You have changed the form, are you sure?';
} else {
return undefined;
}
});
不知道你在问什么?您是在谈论客户端验证吗?在这种情况下,你可以使用MVC验证或javascript库,如jquery和使用验证插件
客户端应该改变什么?
如果,例如。它只是一个文本字段的值,你可以将原始值保存在文档准备好的jquery事件中,当点击提交按钮时,运行一个javascript函数来检查值是否发生了变化。
如果你有更复杂的输入字段,你仍然可以使用这个机制来保存原始的,并通过javascript检查提交