2014-02-19 4 views
1

У меня есть скрытое поле для хранения значения и привязка значения в javascript, а теперь оно появляется, так как мой сервер не поддерживает 4.0 или его в 3.5, так что он не поддерживает свойство ClientIDmode, пожалуйста, найдите код нижене может получить значение с помощью javascript

<asp:HiddenField ID ="lbl1" ClientIDMode="Static" runat="server"></asp:HiddenField> 

Javascript:

function sourceval() { 
     var src1 = window.document.getElementById('lbl1').value;   
    } 

, если я использую литерал имеет свойство видимости, где рендеринг страницы будет проблема, пожалуйста, предложите.

ответ

2

Вам не обязательно нужно ClientIDMode, вы можете просто получить доступ к элементу по его генерируемой ClientID:

function sourceval() { 
    var src1 = window.document.getElementById('<%= lbl1.ClientID %>').value;   
} 
+1

Спасибо своей работы .. – Kamila

1

DOM-элемент ID не будет таким же, как сервер управления ID, если ClientIDMode не static, которая является девитом в .NET 4. Я думаю, что это происходит здесь. Предлагаемые решения ...

  1. Если Javascript написано на том же ASPX/ASCX

    вар src1 = document.getElementById ('<% = lbl1.ClientID%>');

  2. Если вы находитесь на внешнем Javascript, а затем добавить класс в скрытом поле и использовать JQuery для выбора классом

    вар src1 = $ (»youHiddenFieldClass.) Вал(). или простой Javascript как

    document.getElementsByClassName ('Classname')

+0

Результата # 1 является опорным элементом, результат # 2 является строка , Учитывая, что [W3C Selector API] (http://www.w3.org/TR/selectors-api2/) поддерживается почти всеми используемыми браузерами, а OP не включает тег jQuery, было бы лучше предложите не-jQuery-ответ, например: 'document.querySelectorAll ('. youHiddenFieldClass') [0] .value'. Тем не менее, это должно быть проверено в первую очередь. – RobG

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