用了AjaxPro.2的进来看看,这个参数的问题!!!
在用户注册的时候,会在离开用户名输入框(表单名是a),也就是失去焦点的时触发checkusername事件自动检查该用户名是否被占用。如果被占用,提示用户,并且焦点自动回到用户名的输入框。
JScript code
function checkusername(a)//a是一个text标签,为了检测输入的用户名是否被占用
{//传入a.value,也就是输入的用户名
DemoMethods.checkusername(a.value,doAjaxCallback);
//传递参数给服务器,据说doAjaxCallback这样可以达到异步的效果,
}
function doAjaxCallback(req)
{
if(req.value=="yes");//得到CALL服务器的返回值,判断用户名是否被占用
{
alert("用户名已经被占用,请更换");
//怎么在这个时候做输入框重新获得焦点的动作,怎么把a这个参数传递进来呢
}
}
不知道大家明白这个意思了没有,不是很容易说清楚
------解决方案--------------------
控件:<input id="Text1" type="text" onfocusout="checkusername(this)"/>
function checkusername(a)//a是一个text标签,为了检测输入的用户名是否被占用
{//传入a.value,也就是输入的用户名
var str=DemoMethods.checkusername(a.value);
if(str.value=="yes");//得到CALL服务器的返回值,判断用户名是否被占用
{
alert("用户名已经被占用,请更换");
}
}
后台 :protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(DemoMethods));
}
/// <summary>
/// 在页面显示报案人查看信息
/// </summary>
/// <param name="nametext"></param>
/// <returns></returns>
[AjaxPro.AjaxMethod]
public string checkusername(string name)
{
DataTable dt=//检索数据库姓名的方法
string result="";
if(dt.rows.count>0)
{
result="yes";
}
else
{
result="no";
}
return result;
}