帮忙看看这段jquery哪错了
时间:2009-08-29
来源:互联网
<html xmlns="http://www.w3.org/1999/xhtml"><head><title> 无标题页</title>
<script src="../javascript/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var textUsernameId = '#ctl00_ContentPlaceHolder1_TextBox_Nickname';
var ValidUsernameId = '#ctl00_ContentPlaceHolder1_Validate_Username';
var isNameAvai;
function validUsername() {
var username = $(textUsernameId).val();
var avai = isUsernameAvailable(username);
if (avai) {
$(ValidUsernameId).text("");
return true;
} else {
$(ValidUsernameId).text("用户名已被注册");
return false;
}
}
function isUsernameAvailable(name) {
name = "{'name':'" + name + "'}";
$.ajax({
type: "POST",
url: "../WebService/WS_Security.asmx/isUsernameAvailable",
data: name,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
setUsernameAvailable(msg.d)
}
});
return isNameAvai;
}
function setUsernameAvailable(msg) {
isNameAvai = false;
}
$(document).ready(function() {
$(textUsernameId).blur(validUsername);
});
</script></head>
<body><form>
<input name="ctl00$ContentPlaceHolder1$TextBox_Nickname" type="text" maxlength="10" id="ctl00_ContentPlaceHolder1_TextBox_Nickname" />
<span id="ctl00_ContentPlaceHolder1_Validate_Username"></span>
</form></body></html>
以上代码是这样的, 我需要检查用户输入的用户名是否已被注册,如果没有被注册,则不显示任何信息,如果已被注册,则显示“用户已注册”
jquery的ajax功能完好,可以正常取得webservice的内容,返回的数据是:{"d":true}
但我发现success: function(msg) { setUsernameAvailable(msg.d) } 这个方法并没有被调用,而是直接跳过,导致isNameAvai是undefined的值。
请问我哪里出错了?
谢谢!
<script src="../javascript/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var textUsernameId = '#ctl00_ContentPlaceHolder1_TextBox_Nickname';
var ValidUsernameId = '#ctl00_ContentPlaceHolder1_Validate_Username';
var isNameAvai;
function validUsername() {
var username = $(textUsernameId).val();
var avai = isUsernameAvailable(username);
if (avai) {
$(ValidUsernameId).text("");
return true;
} else {
$(ValidUsernameId).text("用户名已被注册");
return false;
}
}
function isUsernameAvailable(name) {
name = "{'name':'" + name + "'}";
$.ajax({
type: "POST",
url: "../WebService/WS_Security.asmx/isUsernameAvailable",
data: name,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
setUsernameAvailable(msg.d)
}
});
return isNameAvai;
}
function setUsernameAvailable(msg) {
isNameAvai = false;
}
$(document).ready(function() {
$(textUsernameId).blur(validUsername);
});
</script></head>
<body><form>
<input name="ctl00$ContentPlaceHolder1$TextBox_Nickname" type="text" maxlength="10" id="ctl00_ContentPlaceHolder1_TextBox_Nickname" />
<span id="ctl00_ContentPlaceHolder1_Validate_Username"></span>
</form></body></html>
以上代码是这样的, 我需要检查用户输入的用户名是否已被注册,如果没有被注册,则不显示任何信息,如果已被注册,则显示“用户已注册”
jquery的ajax功能完好,可以正常取得webservice的内容,返回的数据是:{"d":true}
但我发现success: function(msg) { setUsernameAvailable(msg.d) } 这个方法并没有被调用,而是直接跳过,导致isNameAvai是undefined的值。
请问我哪里出错了?
谢谢!
作者: wappibz 发布时间: 2009-08-29
找到一点:
success: function(msg) {
setUsernameAvailable(msg.d)
}
这里我没有写分号,应该是
success: function(msg) {
setUsernameAvailable(msg.d) ;
}
但发现仍然是不执行success里面的函数。。。。 要怎么它才会执行啊。。。
firebug都显示了,对于ajax的post,返回的是200 OK,而且数据都是正常的,但就tnnd不执行success函数 疯了
success: function(msg) {
setUsernameAvailable(msg.d)
}
这里我没有写分号,应该是
success: function(msg) {
setUsernameAvailable(msg.d) ;
}
但发现仍然是不执行success里面的函数。。。。 要怎么它才会执行啊。。。
firebug都显示了,对于ajax的post,返回的是200 OK,而且数据都是正常的,但就tnnd不执行success函数 疯了
作者: wappibz 发布时间: 2009-08-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28