![](/img/trans.png)
[英]How to validate if an anchor tag was clicked before button click (Using javaScript)
[英]Validate one button is clicked before another with Javascript
这是在ASP.NET中。 我们使用的是ExtJS前端,并且拥有自己的VB.NET控件来制作所有Ext表单和内容。 但是,我希望可以使用纯JavaScript完成。 页面上已经存在一些Java脚本,用于单击“测试连接”按钮并处理结果。
但是,我需要在屏幕上进行验证以确保用户在保存屏幕之前测试连接。 (在点击“保存”按钮之前,先按下测试按钮)-他们每次访问屏幕的时间。
这是页面的代码:
<%@ 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函数,但它是空白的,并且您也可以看到它也与Form绑定在一起。 我尝试鬼混,但是我只能放一些东西,每次单击“保存”时都要求我进行测试,并且不知道是否已经测试过。
有什么帮助吗? 提前谢谢。
-斯科特
为什么不只是隐藏保存按钮,直到按下测试连接并且连接可以工作?
嗯,如果我确实正确理解您的话,这应该可以工作。
connection test
结果的代码中,设置一个标志,指示连接已经过测试。 Save
按钮的处理程序中,检查该标志,如果未设置该标志,则显示某种消息,而不是实际执行保存操作。 您的标志可以是全局变量,该变量最初设置为false
这样,每次访问该页面时,都将要求用户运行测试。
至于您将如何覆盖/拦截“保存”按钮处理程序……呃……猜想您必须为此扩展VB内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.