为了账号安全,请及时绑定邮箱和手机立即绑定

html控件+JS+asp.net——无法检验用户名是否存在!

html控件+JS+asp.net——无法检验用户名是否存在!

浮云间 2018-10-10 05:06:38
以下代码程序运行的时候,无论在文本框输入什么内容(无论数据库是否存在已有用户名),函数总返回true(如果不存在应返回false才对)!请各位大侠帮忙解困!JS代码:function checkYHM(field,T1,T2,T3){var str = field.value;var strT1 = document.getElementById(T1);var strT2 = document.getElementById(T2);var strT3 = document.getElementById(T3);if (str==null||str==""){strT1.style.display = "block";}else { var MyExistYHM = "<%=existYHM()%>";if (MyExistYHM){strT2.style.display = "block";}else {strT3.style.display = "block";}}}
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

var MyExistYHM = "<%=existYHM()%>";
这里写的有问题,本来服务器端的existYHM()返回的是个bool类型,值是true或者false。但在这里MyExistYHM是个字符串类型了,也就是var MyExistYHM="true";或者var MyExistYHM="false";也就是个字符串了,然后你js中的判断if (MyExistYHM)这里是这么写一定是有问题的啦,要么这里你就不要带"",要么你可以给这个变量做个类型转换,var MyExistYHM=new Boolean(MyExistYHM);然后再做判断...

其次另一个问题就是existYHM()这个是服务器端的方法,页面加载时会执行完成,你再输入的时候页面不重新加载的前提下是不会执行的...


查看完整回答
反对 回复 2018-10-25
?
长风秋雁

TA贡献1757条经验 获得超7个赞

你这个肯定是有问题的

var MyExistYHM = "<%=existYHM()%>";只在开始的时候给绑定下数据,所以才会无论在文本框输入什么内容(无论数据库是否存在已有用户名),函数总返回true(如果不存在应返回false才对)!,也就是说这时候你无论再输入什么,都不会再调用existYHM()了。把 existYHM(),写成webmethod就行了,ajax调用。


查看完整回答
反对 回复 2018-10-25
  • 2 回答
  • 0 关注
  • 380 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信