我需要在一个DropDownList项目中验证ASP.NET,并且尝试使用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;智能不给我选择"Value“扩展的选项。
2.在这一行document.getElementById("ddl1").value;代码中,var rsult2 =
我收到以下错误消息:Microsoft JScript运行时错误: Object required.Have您知道我为什么会遇到这个问题,以及如何修复它吗?
提前谢谢你。
发布于 2012-02-02 00:17:32
@Paul:“智能无法知道args有哪些属性/方法,所以它不能给您提供选择。”绝对正确。
@Michael:
假设您的JavaScript在.aspx标记中,将行更改为var rsult2 = document.getElementById("<%=ddl1.ClientID“%>).value;它将在脚本块中呈现DropDownList的实际客户端ID。
而且,你似乎只是在确保已经选择了一个选项。添加一个<asp:RequiredFieldValidator />并将ControlToValidate属性设置为"ddl1“要容易得多,如果您只想这样做的话。
希望这能有所帮助。
发布于 2012-02-02 00:00:28
ct100_ddl1之类的东西,无法完全记住我的头顶。建议您有一个不错的浏览器来开发这些内容,chrome或FF + firebug,这样您就可以检查html并调试js。
https://stackoverflow.com/questions/9105209
复制相似问题