【问题标题】:JavaScript - Validation FunctionJavaScript - 验证函数
【发布时间】:2012-02-01 23:55:16
【问题描述】:

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

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

ASP 声明:

<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 代码:

 <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; intelisense 不给我选择“Value”扩展的选项。

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

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

提前谢谢你。

【问题讨论】:

    标签: javascript asp.net validation customvalidator


    【解决方案1】:
    1. intelisense 无法知道 args 具有哪些属性/方法,因此无法为您提供选择。

    2. 您很可能正在使用母版页,在这种情况下,元素的 id 值将更改为 ct100_ddl1 或类似的东西,我不太记得了。

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

    【讨论】:

      【解决方案2】:

      @Paul:“intelisense 无法知道 args 具有哪些属性/方法,因此它无法为您提供选择。”完全正确。

      @迈克尔:

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

      此外,您似乎只是确保选择了一个选项。如果您只想这样做,添加&lt;asp:RequiredFieldValidator /&gt; 并将ControlToValidate 属性设置为“ddl1”要容易得多。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-27
        • 1970-01-01
        • 2023-03-23
        相关资源
        最近更新 更多