ASP. Net связывает все id
родительских элементов на стороне сервера с id
текущего элемента, если они не были перезаписаны на сервере. Таким образом, выведенный id
на самом деле выглядит примерно как ContentPlaceHolder1$Content3$form1$password
.
Вы можете использовать селектор концов, чтобы опустить это.
var pwd = document.querySelector("[id$=password]").
Но имейте в виду, что нужно выбирать уникальный id
, который также будет уникальным с использованием конца на.
В качестве альтернативы вы можете использовать атрибут данных и выбрать его:
<asp:TextBox ID="password" runat="server" TextMode="Password" data-id="password" />
var pwd = document.querySelector("[data-id=password]");
Наконец, вы можете использовать что-то например:
var pwd = document.getElementById('<%=password.ClientID %>');
Но мне это никогда не нравилось, и он требует, чтобы скрипт был встроенным.