Сначала давайте исправлять getElementID
в вашем коде getElementById
:
OnClientClick="alert(document.getElementById('<%=ListBox1.ClientID %>').options.length);"
Если вы хотите знать, какой пункт выбран, используйте selectedIndex
свойство :
OnClientClick="alert(document.getElementById('<%=ListBox1.ClientID %>').selectedIndex);"
Если вы хотите использовать значение параметра, а не индекс, используйте коллекцию опций с индексом:
OnClientClick="var s=document.getElementById('<%=ListBox1.ClientID %>');alert(s.options[s.selectedIndex].value);"
Edit:
Это будет работать, если контроль, где вы пытаетесь использовать это был не сервер управления, например:
<input type="button" onclick="alert(document.getElementById('<%=ListBox1.ClientID %>').options.length);" />
Как есть элемент управления сервера , вы не можете использовать тег скрипта (<% =%>) внутри элемента управления. Вы должны установить свойство из кода позади:
TheButton.OnClientClick = "alert(document.getElementById('" + ListBox1.ClientID + "').options.length);";
По-прежнему требуется объект. – Eric
Я вижу. Это тег сценария <%= %>. Я отредактировал ответ. – Guffa