我想检查输入的电子邮件 ID 是否已存在于我的数据库中。为此,我需要文本框失去焦点事件,以便我可以在更新面板触发器中异步调用它。而在我的事件中,我可以检查输入的值是否存在于数据库中。
我试过了:
txtEmailId.Attributes.Add("onblur", "javascript:CheckEmailIdIsExist()");
如果是这样,CheckEmailIdIsExist() javascript 方法中应该包含什么?如何从javascript函数异步检查数据库值?
我想检查输入的电子邮件 ID 是否已存在于我的数据库中。为此,我需要文本框失去焦点事件,以便我可以在更新面板触发器中异步调用它。而在我的事件中,我可以检查输入的值是否存在于数据库中。
我试过了:
txtEmailId.Attributes.Add("onblur", "javascript:CheckEmailIdIsExist()");
如果是这样,CheckEmailIdIsExist() javascript 方法中应该包含什么?如何从javascript函数异步检查数据库值?
查看使用 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);" 的值
通过将 ServiceReference 添加到 ScriptManager 来使用 javascript Web 服务代理
http://www.semenoff.dk/en/Code-Corner/ASP.Net.AJAX/WebService-From-JavaScript.aspx
或者使用 JQuery 的 ajax 方法:
http://api.jquery.com/jQuery.ajax/
URL 参数可以只是一个 httphandler,它将电子邮件地址作为查询字符串参数,检查数据库并返回结果
好吧,您应该为应该驻留在服务器端的某个脚本创建一个 XMLRequest。脚本本身应该返回一些值,并且基于它您可以决定“emailId”是否存在于您的数据库中。
请注意,XMLRequest 是用于 ajax 调用的方法。从这一点来看,我认为您应该阅读有关 ajax 的信息。如果您使用某些库(例如 jQuery),它可能已内置,因此您可以非常简单直接地进行一些工作实现并验证您的数据:)