Сложность в том, что ASP.NET назначает автоматически сгенерированные атрибуты id
для всех элементов runat="server"
, включая ваш TextBox
. Простое решение - «вставить» сгенерированный id
в скрипт:
function enableTextbox() {
var txtCommision = document.getElementById("<%= txtCommision.ClientID %>");
txtCommision.disabled = !this.checked;
}
Если вы предпочитаете делать это без «типа спагетти-кода» - возможно, вы хотите, чтобы ваш JavaScript был в отдельном файле - вы можете избежать использования id
для выбора поля <input>
. Вместо этого вы можете украсить его class
. В этом случае вы можете использовать какую-то библиотеку селекторов, чтобы найти элемент управления в JavaScript, популярным вариантом является jQuery.