Правильный или эффективный способ доступа к объекту DOM в страницах ASPX
-
29-09-2020 - |
Вопрос
Я хочу получить значение TextBox, которое входит пользователь.Ниже приведен фрагмент Code Page ASPX:
<asp:TextBox id="txtUserName" runat="server" />
.
Теперь, который является лучшим способом доступа к объекту DOM на странице ASPX
1.
<script type="text/javascript">
var value= document.getElementById(<%= txtUserName.ClientID %>).value;
alert(value);
</script>
.
2.
<script type="text/javascript">
var value= document.getElementById("txtUserName").value;
alert(value);
</script>
. Решение
SharePoint 2013 / SharePoint Online
в .NET Framework 4 был введен jQuery Библиотека используется, которая предлагает мощный набор инструментов для сопоставления набора элементов в документе.
<Сильные> Вариант 1
Используйте селектор, чтобы найти элемент по ID, например:
var quickLaunch = $('[id$=V4QuickLaunchMenu]'); // find element with id which ends with the text 'V4QuickLaunchMenu'
.
Используйте CssClass
для уточнения класса элементов, например:
<asp:TextBox id="boxUserName" runat="server" CssClass="text-box" />
.
а затем используйте селектор класса:
var boxUserName = $('input.text-box');
.
Ссылки
Другие советы
Вариант 1 - это правильный способ сделать, но просто изменить имя переменной на что-то другое, так как это слово JavaScript
<script type="text/javascript">
var _value= document.getElementById(<%= txtUserName.ClientID %>).value;
alert(value);
</script>
.
Но я предпочитаю использовать jQuery, которая делает жизнь намного проще.Для этого добавьте файл jQuery в вашем aspx или meatherpage.Затем используйте ниже строку
<script type="text/javascript">
$(document).ready(function(){
var _value= $(<%= txtUserName.ClientID %>).val();
alert(value);
});
</script>
.