我的ASP.NET表单允许用户使用自动完成功能插入参与者/朋友列表。我想提示jQuery对话表单时,用户点击提交和参与者已经不存在于数据库中。
我希望该对话框仅在输入不存在的名称/电子邮件时打开。我不确定如何以这种方式调用它。帮助?
谢谢!
运行IIS 6+ Framework 2
编辑:这是粗略的设计。我正在传递文本框值来验证函数,评估其是否是电子邮件或名称,并根据数据库检查它
page_load
{
check = validate_experiment(participant);
if (check == validate.invalid_researcher)
{
//raise error & make flags visible
return false;
}
insert_participant(...);
// redirect
}发布于 2012-02-11 00:59:12
您可以做的一种解决方案是在自动完成填写时进行检查。这是一些用于填写我的文本字段的示例代码。
$("#search").autocomplete({
source: function (request, response) {
$.ajax({
url: "MyWebService.asmx/FetchUsers",
data: "{ 'search': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
value: item
}
}))
},
error: AjaxFailed
});
},
minLength: 3
});因此,您可以将成功更改为
success: function (data) {
if (data.d.length == 0)
alert('Does Not Exist');
else {
response($.map(data.d, function (item) {
return {
value: item
}
})) }
}如果您想在单击按钮时执行此操作,您可以创建一个按钮,并将javascript函数绑定到onClick事件,以执行到hit服务的post操作,并检查该值是否存在,因此它将类似如下所示:
<asp:Button ID="Button1" runat="server" onclick="verifyFriendExists()"></asp:Button>
<script type="text/javascript">
function verifyFriendExists() {
var user = $('#userbox').value;
$.ajax({
type: "POST",
url: "MyWebService.asmx/VerifyParticipant",
data: "{'user': '" + user + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d != "Success")
alert('Does Not Exist');
},
error: AjaxFailed
});
}
</script>并使用类似如下的方法创建一个WebService
[WebMethod]
public String VerifyParticipant(string user)
{
bool userExists = CheckParticipant(user);
if (userExists)
return "Success";
else
return "Does Not Exist";
}我知道要看的东西太多了。如果我说得不够清楚,请告诉我。祝好运!
https://stackoverflow.com/questions/9231109
复制相似问题