<html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>无标题页</title> <mce:script type="text/javascript"><!-- //首先,函数的参数不对,不是args而是arguments,因为楼主是用的args所以才出现args.Value=undefined function testSum(source, arguments) { var tb2 = document.getElementById("tb2"); var tb3 = document.getElementById("tb3"); //第二个错误,这里的取对象的值是用value,而不是Value,在JS里面是区分大小写的, //但是在用arguments的时候又必须要用Value,并且这里相加用要到parseInt函数转换 if (arguments.Value < parseInt(tb2.value) + parseInt(tb3.value)) { arguments.IsValid = false; } else { arguments.IsValid = true; } } // --></mce:script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="tb1" runat="server"></asp:TextBox><br /> <asp:TextBox ID="tb2" runat="server"></asp:TextBox><br /> <asp:TextBox ID="tb3" runat="server"></asp:TextBox><br /> <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="testSum" ControlToValidate="tb1" ErrorMessage="两者之和超出总和">两者之和超出总和</asp:CustomValidator> <br /> <asp:Button ID="btnSubmit" runat="server" Text="提交" /> </div> </form> </body> </html>