<input id="my_file_element" type="file" size="20" runat="server" />
<asp:CustomValidator ID="CustomValidatorFile" runat="server"  ClientValidationFunction="FileCheck" ControlToValidate="my_file_element"   ErrorMessage="*"></asp:CustomValidator>        function FileCheck(source, arguments) {
            var str = document.getElementById("<%=my_file_element.ClientID %>").value;
            alert("test");
            if (str == "") {
                arguments.IsValid = false;
            }
            else {
                arguments.IsValid = true;
            }
        }为什么非空验证不管用啊,alert没有弹框,好像这个js没有执行

解决方案 »

  1.   

    你把ALERT语句放到你FUNCTION的第一行  确定下 是你调用方法时发生的问题 还是你<%=my_file_element.ClientID %>值的问题
      

  2.   

    alert("test"),这个test是什么东西
      

  3.   

    楼上说的对。应该是函数没正确引用,或者str获取的时候发生错误。。
      

  4.   

    你在 var str = document.getElementById("<%=my_file_element.ClientID %>").value; 这句加个断点,看方法执行进来了吗
      

  5.   

    var str = document.getElementById("<%=my_file_element%>").value;
      

  6.   

    var str = document.getElementById("ctl00_ContentPlaceHolder1_my_file_element").value;  id="ctl00_ContentPlaceHolder1_my_file_element" <%=my_file_element.ClientID %>值没有问题啊这个方法根本没执行