首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript -验证函数

JavaScript -验证函数
EN

Stack Overflow用户
提问于 2012-02-01 23:55:16
回答 2查看 782关注 0票数 0

我需要在一个DropDownList项目中验证ASP.NET,并且尝试使用JavaScript,即使我以前从未使用过它。

我使用以下ASP声明和代码JavaScript:

ASP声明:

代码语言:javascript
复制
<asp:DropDownList ID="ddl1" runat="server" onprerender="ddl1_PreRender" ValidationGroup="AddNewCollection">
</asp:DropDownList>
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Choose Type!"
ControlToValidate="ddl1"  ForeColor="Red" ValidationGroup="AddNewCollection" ClientValidationFunction="clientSideCheckValue"></asp:CustomValidator>>

JavaScript代码:

代码语言:javascript
复制
 <script type="text/javascript">
    function clientSideCheckValue(source, args) 
     {
       var result1 = args.Value;   
       var rsult2 = document.getElementById("ddl1").value;
       if (result2 == null) {
          args.IsValid = false;
          return true;
       }
      args.IsValid = true;
    }
</script>

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

1.为什么在打印此行的代码时,var result1 = args.Value;智能不给我选择"Value“扩展的选项。

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

我收到以下错误消息:Microsoft JScript运行时错误: Object required.Have您知道我为什么会遇到这个问题,以及如何修复它吗?

提前谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-02 00:17:32

@Paul:“智能无法知道args有哪些属性/方法,所以它不能给您提供选择。”绝对正确。

@Michael:

假设您的JavaScript在.aspx标记中,将行更改为var rsult2 = document.getElementById("<%=ddl1.ClientID“%>).value;它将在脚本块中呈现DropDownList的实际客户端ID。

而且,你似乎只是在确保已经选择了一个选项。添加一个<asp:RequiredFieldValidator />并将ControlToValidate属性设置为"ddl1“要容易得多,如果您只想这样做的话。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2012-02-02 00:00:28

  1. 智能无法知道args有哪些属性/方法,因此它不能给您提供选项。
  2. 最有可能是在使用母版页,在这种情况下,元素的id值将更改为类似ct100_ddl1之类的东西,无法完全记住我的头顶。

建议您有一个不错的浏览器来开发这些内容,chrome或FF + firebug,这样您就可以检查html并调试js。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9105209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档