ext验证用户名是否可用问题??????????

来源:百度知道 编辑:UC知道 时间:2024/06/18 18:47:17
这是字段:
{
fieldLabel : "用户名",
name : "username",
id : "username",
anchor : "50%",
vtype : "alphanum",
allowBlank : false,
blankText : "不能为空",
validator : checkUserName,
invalidText : "用户名已被注册"
} }
这是验证函数
function checkUserName() {
var flag=false;
Ext.Ajax.request({
timeout : 2000,
url : "validateName.do",
success : function(response, options) {
var result = response.responseXML.getElementsByTagName("result")[0].firstChild.data;
if (result == "0") {
flag=false;
} else {
flag=true;
}
},
failure : function(response, options) {

},
params : {
userName : Ext.get(&qu

EXT的资料好难找啊。。。。。。

一般的验证是不同不检查用户名的。异步允许你继续填写别的字段,后台自动检查用户名。

你应该在你的
success : function(response, options) {

调用某个方法,更新你的数据,比如弹出对话框,显示用户名错误等,一般显示在用户名对话框的后面。

如果你想简单,可以用同步请求,参考这个
同步方式请求:

var conn = Ext.lib.Ajax.getConnectionObject().conn;
conn.open("GET", 'your url',false);
conn.send(null);
alert(conn.responseText);
关键是要设置false这个参数

不是根据checkUserName的返回值来判断是否往下走,应该是在
success : function里
比如:
success : function(response, options) {
var result = response.responseXML.getElementsByTagName("result")[0].firstChild.data;
if (result == "0") {
alert('验证失败');
return false;
} else {
document.f.submit();
}