日期:2014-05-17  浏览次数:20426 次

求助 js调用后台方法问题
[code=C#][/code] public App_UserAccountRequestDAO accountDao = new App_UserAccountRequestDAO();
[code=JScript][/code] function checkUser() {

  var user = document.getElementById("txt_User").value;
  var temp = '<%= accountDao.IsExistUser("'+user+'")%>';

  if (temp) {
  document.getElementById("div_Warning").innerHTML = "Account already exist";
  }
  else {
  document.getElementById("div_Warning").innerHTML = "ok";
  }
[code=C/C++][/code]
  <input id="txt_User" runat="server" type="text" class="txtInput" onblur=“checkUser” /> <span>*</span>
这样调用数据层的bool方法 为什么一打开页面temp直接是true

------解决方案--------------------
你的页面编译之后temp就是一个字符串。在js里做判断必须绝对等。===true
------解决方案--------------------
还有,你这句话写的是有问题的
 '<%= accountDao.IsExistUser("'+user+'")%>';
这句话其实是JS代码,跟服务器标记没任何关系, 因为。

 '<%= accountDao.IsExistUser("' 是js的字符串
user 是js的变量
'")%>'; 也是js的字符串
然而 js里面
if('12312321')
其实 是 true

if(null)
才是false.