У меня есть следующий веб-форма на моем ASP.NET веб-сайтаASP.NET установочное значение текстового поля с помощью JavaScript без document.getElementById()
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" ValidateRequest="false" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function SetTextBoxValues() {
TextBox1.value = "Textbox can be set without calling document.getElementById()";
TextBox2.value = "Textbox can be set without calling document.getElementById()";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" Height="210px" TextMode="MultiLine" Width="725px"></asp:TextBox>
<br/>
<textarea rows="4" cols="50" id="TextBox2" runat="server" />
<br/>
<button onclick="SetTextBoxValues()">Set Text Box Value</button>
</form>
</body>
</html>
страница работает как я могу нажать кнопку и установить значения в обоих TextBox1 и Textbox2. Я не понимаю, как значение Textbox задано в функции javascript.
<script type="text/javascript">
function SetTextBoxValues() {
TextBox1.value = "Textbox can be set without calling document.getElementById()";
TextBox2.value = "Textbox can be set without calling document.getElementById()";
}
Обычно мы должны использовать следующий JS код:
document.getElementById('<%=txtTextBox.ClientID %>').value = "Some values";
Но, похоже, мы можем установить значение без использования document.getElementById(). Могу ли я узнать, почему он работает именно так? Является ли это допустимым способом установки значения текстового поля с помощью javascript?
Я не думаю, что это сработало – Mairaj
Я создал пустой веб-сайт ASP.NET и добавил эту страницу. Я протестировал его и смог добавить текст в текстовые поля при нажатии на кнопку. – ccyen
Это действительно работает. Я думаю, что объяснение приводится здесь: http://stackoverflow.com/questions/3434278/do-dom-tree-elements-with-ids-become-global-variables. – ConnorsFan