asp.net中JavaScript数据验证实现代码
更新时间:2010年05月21日 02:37:40 作者:
我对JavaScript一直不了解。常常为了一点点的数据验证和无刷新就去动用AJAX,实在不爽——有点杀鸡用牛刀的感觉。
今天在做一个数据修改的页面,页面上有一个DropDownList控件,绑定的是实体中的重要属性,我希望用户在修改该控件值的时候,提示用户,他修改了该控件的值。所以为该下拉控件加上了如下语句。
DDLmaterial.Attributes.Add("onchange", "alert('注意:您修改了物品类型!')");
似乎不错,不仅有提示效果,也不需要刷新页面。可是当我打开页面进行测试的时候就发现了问题,当我把下拉控件的值改回原值的时候,它还是会出现提示,这样明显会给用户一种莫名其妙的感觉。怎么办呢,用AJAX 进行服务端验证?这想法太邪恶了,我决定尝试用JS在客户端实现。
实现的算法很简单,首先我去搜索当页面加载后立刻执行JS的方法,用于获取下拉控件绑定数据后的初始值。借助GOOGLE获得了如下的成果
window.onload = function() {
var ddl= document.getElementById('DDLmaterial');
var first =ddl.options[ddl.selectedIndex].text;
}
我的理解如下:
第1行: 页面载入后即执行function()——function是关键字吧,怪怪的用法,暂不理他。
第2行: 通过控件ID获取控件的对象,这个var有点object的感觉
第3行: 获取控件当前选中行的值
这下好了,再修改下代码就实现我的要求了。
//后台代码
DDLmaterial.Attributes.Add("onchange", "changeAlert()");
前端
<script type ="text/javascript" >
var first;
var ddl;
window.onload = function() {
ddl= document.getElementById('DDLmaterial');
first =ddl.options[ddl.selectedIndex].text;
}
function changeAlert() {
var sencond = ddl.options[ddl.selectedIndex].text;
if (sencond != first) {
alert("注意:您修改了物品类型!");
}
}
</script>
总结一下:突然发现VS2008居然写JS代码的时候也有智能提示了(这实在太棒了,菜鸟的福音,JS代码貌似是执行到哪算到哪,出错也不告诉你),看来我已经OUT了 囧....
复制代码 代码如下:
DDLmaterial.Attributes.Add("onchange", "alert('注意:您修改了物品类型!')");
似乎不错,不仅有提示效果,也不需要刷新页面。可是当我打开页面进行测试的时候就发现了问题,当我把下拉控件的值改回原值的时候,它还是会出现提示,这样明显会给用户一种莫名其妙的感觉。怎么办呢,用AJAX 进行服务端验证?这想法太邪恶了,我决定尝试用JS在客户端实现。
实现的算法很简单,首先我去搜索当页面加载后立刻执行JS的方法,用于获取下拉控件绑定数据后的初始值。借助GOOGLE获得了如下的成果
复制代码 代码如下:
window.onload = function() {
var ddl= document.getElementById('DDLmaterial');
var first =ddl.options[ddl.selectedIndex].text;
}
我的理解如下:
第1行: 页面载入后即执行function()——function是关键字吧,怪怪的用法,暂不理他。
第2行: 通过控件ID获取控件的对象,这个var有点object的感觉
第3行: 获取控件当前选中行的值
这下好了,再修改下代码就实现我的要求了。
//后台代码
DDLmaterial.Attributes.Add("onchange", "changeAlert()");
前端
复制代码 代码如下:
<script type ="text/javascript" >
var first;
var ddl;
window.onload = function() {
ddl= document.getElementById('DDLmaterial');
first =ddl.options[ddl.selectedIndex].text;
}
function changeAlert() {
var sencond = ddl.options[ddl.selectedIndex].text;
if (sencond != first) {
alert("注意:您修改了物品类型!");
}
}
</script>
总结一下:突然发现VS2008居然写JS代码的时候也有智能提示了(这实在太棒了,菜鸟的福音,JS代码貌似是执行到哪算到哪,出错也不告诉你),看来我已经OUT了 囧....
相关文章
asp.net EXECUTENONQUERY()返回值介绍
前些日子作一些数据项目的时候 在ADO.NET 中处理 ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功 。但是实际上并不是这样的,下面详细介绍一下,有需要的朋友可以参考2013-08-08Jenkins编译.NET Core、.NET Framework项目并远程部署到IIS
这篇文章介绍了Jenkins编译.NET Core、.NET Framework项目并远程部署到IIS的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04.net core版 文件上传/ 支持批量上传拖拽及预览功能(bootstrap fileinput上传文件)
本篇内容主要解决.net core中文件上传的问题 开发环境:ubuntu+vscode.本文给大家介绍的非常详细,感兴趣的朋友一起看看吧2017-03-03国产化之银河麒麟安装.NetCore包管理器方式(步骤详解)
这篇文章主要介绍了国产化之银河麒麟安装.NetCore-包管理器方式,本文给大家分享安装步骤及安装命令,对银河麒麟安装.NetCore相关知识感兴趣的朋友一起看看吧2022-03-03
最新评论