我想检查输入的电子邮件ID是否已存在于我的数据库中。为此我需要文本框丢失焦点事件,以便我可以在更新面板触发器中异步调用它。而在我的事件中,我可以检查输入的值是否存在于数据库中。
我试过了:
txtEmailId.Attributes.Add("onblur", "javascript:CheckEmailIdIsExist()");
如果是这样,CheckEmailIdIsExist()javascript方法里面应该是什么?如何从javascript函数异步检查数据库值?
答案 0 :(得分:1)
使用jQuery对您网站上的WebMethod进行AJAX调用:
function CheckEmailIdIsExist(args) {
var loc = window.location.href;
loc = (loc.substr(loc.length - 1, 1) == "/") ? loc + "default.aspx" : loc;
$.ajax({
type: "POST",
url: loc + "/" + IsUniqueEmailAddress,
data: "{" + args + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: onSuccess,
fail: onFail
});
}
这将在您的服务器上:
[WebMethod]
public static bool IsUniqueEmailAddress(string emailAddress)
{
// do some processing here
return true;
}
我认为您需要修改调用JavaScript函数的方式,因为您需要传递控件的值onblur =“javascript:CheckEmailIdIsExist(this.value);”
答案 1 :(得分:0)
使用javascript Web服务代理,通过向ScriptManager添加ServiceReference
http://www.semenoff.dk/en/Code-Corner/ASP.Net.AJAX/WebService-From-JavaScript.aspx
或者使用JQuery的ajax方法:
http://api.jquery.com/jQuery.ajax/
URL参数可以只是一个httphandler,它将电子邮件地址作为查询字符串参数,检查数据库并返回结果
答案 2 :(得分:0)
那么,您应该为某些应该驻留在服务器端的脚本创建XMLRequest。脚本本身应返回一些值,并根据它可以决定数据库中是否存在“emailId”。
请注意,XMLRequest是用于ajax调用的方法。从这一点来看,我认为你应该阅读有关ajax的内容。如果你使用一些库(ex jQuery)它可能内置它,那么你可以非常轻松,直接地进行一些有效的实现并验证你的数据:)