У меня есть пользовательский элемент управления ASP.NET, который содержит элемент управления текстовым полем и элемент управления кнопки. Этот пользовательский элемент управления будет добавлен на мою веб-страницу много раз. Мне нужен фрагмент JavaScript, который будет запускаться всякий раз, когда изменяется текстовое поле, и отключать кнопку, если значение текстового поля недействительно. У меня такой вопрос: как поместить JavaScript в текстовое поле, которое может ссылаться только на кнопку, находящуюся в том же пользовательском элементе управления? Помните, что существует множество пользовательских элементов управления ASP.NET, каждый из которых имеет кнопку и текстовое поле, и я хочу, чтобы недопустимое значение в текстовом поле влияло только на одну связанную кнопку. Спасибо!
Правильные ссылки на элементы управления в пользовательских элементах управления ASP.NET в JavaScript
Ответы (1)
Вы можете использовать свойство ClientId элементов управления (оно однозначно идентифицирует элемент управления на стороне клиента) и сделать что-то вроде этого:
<asp:TextBox runat="server" ID="myTextBox" />
<asp:Button runat="server" ID="myButton" Text="click" />
<script language="javascript" type="text/javascript">
document.getElementById("<%=myTextBox.ClientID %>").onclick = function() {
document.getElementById("<%=myButton.ClientID %>").disabled = "disabled";
}
</script>
Также см. этот документ: Клиентский скрипт на веб-страницах ASP.NET, раздел Ссылка на серверные элементы управления в клиентском сценарии
person
maxnk
schedule
21.12.2008