我的下拉(填充objectDataSource
):
<asp:DropDownList runat=server ID="ddlUserTypes" DataSourceID="odsUserTypes" AppendDataBoundItems=true DataTextField="UserType" DataValueField="Usertype">
<asp:ListItem Value="">-Please select one-</asp:ListItem>
</asp:DropDownList>
Javascript函数获取下拉列表的选定值:
<script type="text/javascript" language="javascript">
var notRegistered = false;
var email = '';
var userType = document.getElementById("ddlUserTypes");
var pow = userType.options[userType.selectedIndex].value;
function PreRegister() {debugger;
if (notRegistered) {
location.href = '/Register.aspx?pageid=<%= ConfigHelper.RegistrationPageId %>&Email=' + encodeURIComponent(email)+'&asd='+encodeURIComponent(pow);
return false;
}
return true;
}
</script>
但这不起作用pow
只是继续返回undefined?这可能是因为用户类型似乎没有分配给它,因为它保持为null?有人知道为什么这段代码不起作用吗?
答案 0 :(得分:1)
使用此功能我希望它能正常工作。
var e = document.getElementById("ddlUserTypes");
var strUser = e.options[e.selectedIndex].value;
答案 1 :(得分:1)
var userType = documentgetElemebyById('<%= ddlUserTypes.ClientID %>');
答案 2 :(得分:1)
正如gdoron所提到的,ASP.Net会将你的下拉列表的HTML ID设置为你设置为<asp:DropDownList>
的ID参数之外的其他内容,这就是为什么你的JS没有找到它。< / p>
最简单的方法是在下拉列表中分配一个类,然后在JS中按类定位元素。