gpt4 book ai didi

javascript - 使用 JavaScript 检查重复数据

转载 作者:行者123 更新时间:2023-11-28 02:01:54 26 4
gpt4 key购买 nike

我正在 asp.net 中编写 Web 应用程序。我有一个输入表格。我希望当客户端在插入之前单击“保存”按钮时,检查此数据是否在数据库中。我已经用后面的代码编写了它。但我想用java脚本来做到这一点,因为当我使用页面刷新后面的代码时。这是我用于检查重复数据的 .net 代码:

SqlCommand commandrepeat1 = new SqlCommand("Select code from CmDet where code = " + txtcode.Text + " and company = " + DataBase.globalcompany.ToString() + " order by code desc");
commandrepeat1.Connection = objconnection;
objconnection.Close();
objconnection.Open();
SqlDataReader drmax1;
drmax1 = commandrepeat1.ExecuteReader();
drmax1.Read();
if (drmax1.HasRows)
{
MessageBox.Show("Duplicate data . try again!!! ");
txtcode.Focus();
objconnection.Close();
return;
}
objconnection.Close();
}
catch
{
objconnection.Close();
}

最佳答案

您应该让 ASP.NET 按钮实现 OnClick 事件(在确定不存在重复数据后执行服务器端代码)和 OnClientClick事件(执行您的 JavaScript,该 JavaScript 将调用以检查是否存在重复数据)。

我建议如下:

在 JavaScript 中,向按钮添加 jQuery 单击事件,如下所示:

$( "#myButton" ).click(function() {

});

注意:我假设您的按钮名称为 myButton,请更改它以匹配标记中按钮的 ID。

现在您需要调用服务器端来执行逻辑以查找重复数据。我建议使用通过 jQuery .ajax() 函数调用的 ASP.NET AJAX 页面方法,如下所示:

$.ajax({
type: "POST",
url: "YourPage.aspx/DoesDataExist",
data: "{'codeValue': $('#myTextBox').val()}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
if(msg.d) {
// This is a duplicate, alert user with message
// Block the server-side click from happening with return false;
return false;
}
}
});

最后,我们需要构建服务器端代码来处理上面 jQuery 调用的页面方法,如下所示:

[WebMethod]
public static bool DoesDataExist()
{
SqlCommand commandrepeat1 = new SqlCommand("Select code from CmDet where code = " + txtcode.Text + " and company = " + DataBase.globalcompany.ToString() + " order by code desc");
commandrepeat1.Connection = objconnection;
objconnection.Close();
objconnection.Open();
SqlDataReader drmax1;
drmax1 = commandrepeat1.ExecuteReader();
drmax1.Read();
if (drmax1.HasRows)
{
objconnection.Close();
return true;
}
objconnection.Close();

return false;
}

关于javascript - 使用 JavaScript 检查重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18337844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com