JavaScript-验证功能[英] JavaScript - Validation Function

问题描述

我需要在 ASP.NET 项目中验证 DropDownList 并且我尝试使用 JavaScript,尽管我以前从未使用过它.
我正在使用以下 ASP 声明和代码 JavaScript:

ASP声明:

<asp:DropDownList ID="ddl1" runat="服务器" onprerender="ddl1_PreRender" ValidationGroup="AddNewCollection"></asp:DropDownList><asp:CustomValidator ID="CustomValidator1" runat="服务器" ErrorMessage="选择类型!"ControlToValidate="ddl1"  ForeColor="红色" ValidationGroup="AddNewCollection" ClientValidationFunction="clientSideCheckValue"></asp:CustomValidator>>


JavaScript 代码:

<script type="text/javascript">函数 clientSideCheckValue(source, args){var result1 = args.Value;var rsult2 = document.getElementById("ddl1").value;if (result2 == null) {args.IsValid = false;return true;}args.IsValid = true;}</脚本>


关于上面提到的代码,我有两个问题:

1.为什么当我打印这一行的代码时 var result1 = args.Value; intelisense dosen''t give me option to select "Value" extension.

2.在这行JavaScript代码 var rsult2 = document.getElementById("ddl1").value;

我收到此错误消息 Microsoft JScript 运行时错误:需要对象.您知道我为什么会遇到此问题以及如何解决它吗?

提前谢谢您.
解决方案
1.对于代码
var result1 = args.Value 
(不支持 intelisense)
2. 使用
var rsult2 = document.getElementById('<%=ddl1.ClientID %>').value;
而不是
var rsult2 = document.getElementById("ddl1").value;

嗨,

ddl 不是这样工作的.

使用下面的代码在 JS 中访问 ddl.

ddlObj = document.getElementById('<%=ddl1.ClientID %>');ddlVal = ddlObj.options[ddlObj.selectedIndex].value;

1.为什么当我打印这一行的代码时 var result1 = args.价值;intelisense 不给我选择"价值"扩展的选项.
这里[^] 是对您问题的一个很好的解释.

2.在这行 JavaScript 代码 var rsult2 = document.getElementById("ddl1").value;
如果您使用用户控件,下拉列表的名称肯定会在您的页面呈现给浏览器后发生变化.尝试在浏览器上查看页面的来源,以验证下拉列表的名称是否确实已更改.

本文地址:https://www.itbaoku.cn/post/1394880.html