gpt4 book ai didi

javascript - 使用 Javascript 验证一个按钮在另一个按钮之前被单击

转载 作者:行者123 更新时间:2023-11-28 10:28:40 25 4
gpt4 key购买 nike

这是在 ASP.NET 中。我们使用 ExtJS 前端,并拥有自己的 VB.NET 控件来制作所有 Ext 表单等内容。不过,我希望这可以用普通的 JavaScript 来完成。页面上已经有一些 Javascript,用于单击“测试连接”按钮并处理结果。

但是,我需要在屏幕上进行验证,以确保用户在保存屏幕之前测试连接。 (在点击保存按钮之前点击测试按钮)——每次他们访问屏幕时。

以下是该页面的代码:

<%@ Page Language="VB" Inherits="Core.Web.EditBaseView" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="javascript" type="text/javascript">
function testConnection() {

Global.mask('Testing Connection...');
KBBConnectorController.TestConnection(function(result) { testConnectionCallback(result) });
}

function testConnectionCallback(result) {
Global.unmask();
if (result.Data.Result) {
Global.alert("Connection to KBB Successful.");
}
else {
Global.alertError(result.Data.Messages[0].Text, result.Data.ExceptionId);
}
}

function Validate() {

}
</script>
</head>
<body>
<form id="form1" runat="server">
<div style="display:none">
<% =Html.DropDownList("ddlMarketValues", TryCast(Model.MarketValues, SelectList))%>
</div>
<div>
<%
Using KBBForm As New WebControls.Forms.Form
With KBBForm
.OnValidate = "Validate"
.ID = "KBB"
.ItemName = "connector"
With .Toolbar
.UseDefaultButtons = False
.AddButton(Forms.FormToolbar.ButtonType.Save)
.AddButton(Forms.FormToolbar.ButtonType.Cancel)
.AddButton("Test Connection", "testConnection", "icon-button-testconnection", , "Test connectione")
End With

With .CenterRegion
.Id = "centerRegion"
With .AddFieldSet("Activate Service")
.Id = "activate"
.LabelWidth = 0
Dim cb As New Forms.Control("IsActive", "", "", Model.IsActive, Forms.Control.ControlType.CheckBox)
cb.BoxLabel = "Activate Service"
.AddControl(cb)
End With

With .AddFieldSet("Connection Parameters")
.Id = "params"
.LabelWidth = 150
.AddControl(New Forms.Control("UserName", "", "User Name", Model.UserName, Forms.Control.ControlType.TextField))
.AddControl(New Forms.Control("Password", "", "Password", Model.Password, Forms.Control.ControlType.Password))
.AddControl(New Forms.Control("LoginUrl", "", "URL", Model.LoginUrl))
With .AddControl(New Forms.Control("ddlMarketValues", "", "Market Value", , Forms.Control.ControlType.ComboBox))
.Id = "ddlMarketValues"
End With
End With
End With
Response.Write(.ToString)
End With
End Using
%>
</div>
</form>
</body>
</html>

正如您所看到的,我在那里放置了一个 OnValidate 函数,但它是空白的,您可以看到它也与表单相关联。我尝试过这样做,但我只能将一些东西放在一起,要求我每次单击“保存”时进行测试,并且它不知道我是否已经测试过。

有什么帮助吗?提前致谢。

-斯科特

最佳答案

呃,如果我理解正确的话,这应该可行。

  1. 在处理连接测试结果的代码中,设置一个标志来指示连接已被测试。
  2. 保存按钮的处理程序中检查该标志,如果未设置,则显示某种消息,而不是实际执行保存操作。

您的标志可以是全局变量,最初设置为false,这样用户每次访问页面时都需要运行测试。

至于如何覆盖/拦截“保存”按钮处理程序...呃...猜测您必须为此扩展 VB 内容。

关于javascript - 使用 Javascript 验证一个按钮在另一个按钮之前被单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3636142/

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