2013-07-03 4 views
0

Аннотация: Я пытаюсь установить сообщение об ошибке, если выбор не был сделан ниспадающим меню.Настройка текста метки в javascript

Деталь:

Вот мой дд с вызовом к яваскрипту функции:

<%:Html.DropDownListFor(r => Model.TypeId, TypeItems, new { @class="stretchInput", @onblur = "errorCheck"})%> 

Вот мой JavaScript:

<script type="text/javascript"> 
    $(document).on("blur", "select[name=TypeId]", 
     function errorCheck() { 
      var errId = 'Type not chosen. Please choose from the menu.'; 
      if (document.getElementById('TypeId').selectedIndex == 0) { 
       document.getElementById("DetailsError").visibility = 'visible'; 
       document.getElementById("DetailsError").innerHTML = errId; 
      } 
     }); 
</script> 

Вот ярлык, который я хочу, чтобы изменить значение :

<td><asp:Label ID="DetailsError" runat="server" CssClass="errorMsg" Text="testing" Visible="false"></asp:Label></td> 

Я знаю, что это элемент управления ASP, кстати. Я пробовал HTML label и получил тот же результат.

Все, что я пытаюсь установить текст метки с моим сообщением об ошибке. Похоже, что ничто из этого не влияет на ярлык.

Что мне не хватает?

+1

Просмотреть созданный исходный код страницы, найти метку. Что ты видишь? – epascarello

+0

тестирование user2284341

+0

BINGO! Я prefixed DetailsError с «MainContent_», и он работает. Спасибо, epascarello! – user2284341

ответ

1

Если вам просто нужно использовать ярлык для отображения сообщений об ошибках с помощью JavaScript, то есть элемент управления не имеет релевантности на стороне сервера, вы можете использовать <span id="DetailsError">.

Или

Вы можете использовать <%=DetailsError.ClientID%> везде в HTML/JS кода, где вы хотите использовать DetailsError.

Для .: например

document.getElementById("<%=DetailsError.ClientID%>").innerHTML = errId; 

Пожалуйста, примите это в качестве отправной точки, а не в качестве решения копировать-вставить.

Смежные вопросы