答应我,不要在asp后台界面做非空验证好吗?
一般来说,我们都是在单击事件里面做if this.xxx.Text!="" 啥的,要是为"" 就提示有东西没填,有问题吗?没有问题,但是确实是有问题的,如图,我的设备品牌没有填
当我点击按钮之后提示有框框没填(下图我就没做这个提示了),是这个逻辑吧?问题是,我图片预览那一项没有了,需要我重新选,我之前用的时候日期都没给你保留。
就是说,我就设备品牌的框框没有填,你提醒就好了,干嘛要清空我其他的已经填好的信息?是的,怎样?要不别用我的产品啊!
其他的框框保留了是因为浏览器帮你保留的吧
这就是我用asp非空验证的问题,我知道asp有专门的验证控件,但是他们长得有点像,我还是没用它们
所以解决图中的问题就如下:
先在每一个asp的控件加上一个cssClass,你需要验证的文本框加上,然后使用Js还用了JQuery
setInterval(function () {
//判断所有文本框有无值
var flag = 0;
//循环验证
for (var i = 0; i < $(".input").length; i++) {
//使用JQuery选择器只会显示(验证)第一个,于是使用系统选择器循环验证
if (document.getElementsByClassName("input")[i].value!="") {
flag++;
}
}
//验证有值的文本框是否和文本框总数一致
if (flag != $(".input").length) {
//没有就禁用按钮,以及更改颜色
$("#All_Addnew").attr("disabled", "disabled")
.css("background-color", "#666");
}
else {
//可以通过非空,恢复原按钮样式
$("#All_Addnew").removeAttr("disabled")
.css("background-color", "dodgerblue");
}
}, 500)
当然,时间你可以设置的更短一些,提醒也可以设置的更加醒目