Как использовать Javascript для получения значения метки ASP.NEt Web Forms? - PullRequest
4 голосов
/ 15 сентября 2011

У меня есть следующий элемент управления меткой:

<asp:Label ForeColor="DarkGreen" runat="server" ID="lblStatus"></asp:Label>

Его значение заполняется в событии Page_Load .

Я прикрепил следующий Javascript (размещенный в конце страницы , а не в главной странице):

function Validate() {
        var lblObj = document.getElementById('<%=lblStatus.ClientID%>');
        alert(lblObj.value);
        if (lblObj.value == "Replaced" || lblObj.value == 'Trashed' || lblObj.value == "Internal Use") {

            alert("Products with" + lblObj.value + "status cannot be reserved");
            return false;
        }
    }

Предупреждение (lblObj.value) отображает всплывающее окно с текстом "undefined". Как я могу решить эту проблему? Пожалуйста, я пробовал много комбинаций для размещения JavaScript, но не повезло! Спасибо

UPDATE

Код браузера:

<span id="ctl00__main_lblStatus" style="color:DarkGreen;">Available</span></td>

Первая строка функции проверки JS:

function Validate() {
        var lblObj = document.getElementById('ctl00__main_lblStatus');

Ответы [ 6 ]

5 голосов
/ 15 сентября 2011

label s не имеют value.У них есть innerHTML и innerText.

4 голосов
/ 15 сентября 2011

Используйте JQuery, и он будет работать во всех браузерах и платформах, что-то вроде:

$('#<%= lblStatus.ClientID %>').next().text();

источник: JQuery: получение значения / text / innerHtml флажка в элементе управления ASP.NET CheckBoxList

4 голосов
/ 15 сентября 2011

Метка управления сервером отображается как span. Так что вы должны получить его содержимое по innerText. попробуйте это:

alert(lblObj.innerText);
2 голосов
/ 15 сентября 2011

Управление сервером этикеток ASP.NET будет отображаться в сложном HTML-выводе.Например:

<span id="ctl00_ctl00_ContentPlaceHolder1_BodyPlaceHolder_lblLanguage0">
 <label class="inputText">English</label>
</span>

Когда вы используете getElementById, вы получите span.Но чтобы установить значение через javascript, вам нужно получить доступ к внутреннему объекту метки

1 голос
/ 19 августа 2016

С jquery вам нужно использовать метод html.

var g = $('#<%=lblStatus.ClientID%>').html();

Они не будут работать с jquery:

  • $ ('# <% = lblStatus.ClientID%>'). InnerText
  • $ ( '# <% = lblStatus.ClientID%>'). InnerHTML
  • $ ( '# <% = lblStatus.ClientID%>'). Вал ()
1 голос
/ 19 декабря 2013

попробуйте

<script language="javascript" type="text/javascript">
function getlabelvalue()
{
   var value1 = document.getElementById('<%=labelID.ClientID%>').value;
            if (value1.length < 1)
                value1 = 0;
}    
 </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...