Как получить значение скрытого поля с помощью javascript?

У меня есть веб-сайт asp.net, я использовал главную страницу для дизайна. У меня есть дочерняя страница, которая находится в contentplaceholder. На дочерней странице я использовал одно скрытое поле как -

<input id="Hidden1" type="hidden" value="This is hidden text"/>

Я хочу отобразить значение скрытого поля с помощью функции alert() из javascript в событии загрузки страницы. Как это сделать?

Я пробовал следующее в своем сценарии, но он не работает:

(function msgShow() {

        var e1 = document.getElementById('Hidden');
        alert(e1.value);
    })();

Спасибо.


person Priyanka    schedule 02.12.2011    source источник
comment
Что именно не работает? Вы получаете ошибку, нулевое значение, неопределенное...   -  person Viruzzo    schedule 02.12.2011
comment
@Viruzzo: я не получаю никаких ошибок. Я просто показываю свою страницу без предупреждающего сообщения.   -  person Priyanka    schedule 02.12.2011
comment
Если вы поместите alert('Hello World!'); перед getElementById, он появится?   -  person Viruzzo    schedule 02.12.2011
comment
Ваш скрытый элемент должен быть там, когда вы вызываете свою функцию msgShow, например, вызываете свою функцию после полной загрузки DOM.   -  person bsrykt    schedule 02.12.2011
comment
@Virusso:yes alert('hello world') работает   -  person Priyanka    schedule 02.12.2011
comment
@bsrykt: спасибо, я попробовал следующую вещь, и она работает window.onload = function msgShow() { alert(document.getElementById('Hidden1').value); }.   -  person Priyanka    schedule 02.12.2011


Ответы (7)


window.alert(document.getElementById("Hidden1").value);

Убедитесь, что этот код выполняется после того, как DOM будет готов.

person jabclab    schedule 02.12.2011
comment
Как гарантировать, что код будет выполнен после того, как DOM будет готов? - person awaisj; 02.12.2011
comment
Вы можете сделать это с помощью метода jQuery ready. . Если вы не используете jQuery, просто поместите свой код JavaScript в конец тела, это имеет выгоду производительности. также, поскольку загрузка JS не блокирует отрисовку страницы. - person jabclab; 02.12.2011

С jQuery вы делаете так:

$(document).ready(function() {
    alert($('#Hidden1').val());
});

без jQuery вы делаете:

alert(document.getElementById('Hidden1').value);
person Cyclonecode    schedule 02.12.2011

Как и любой другой элемент, вы можете получить его с помощью document.getElementById('Hidden1').value

person Viruzzo    schedule 02.12.2011

Обратитесь к приведенному ниже коду, чтобы узнать, как получить

<html>
<body>

<script type="text/javascript">
function printIt(){
   alert(document.getElementById('abcId').value);
   alert(document.formName.elements['abcName'].value);
}
</script>

<h1>Access Hidden value in JavaScript</h1>
<form name="formName">
    <input type="hidden" id="abcId" name="abcName" 
                  value="I am Hidden value"/>

    <input type="button" value="Get Value" onclick="printIt()" />
</form>

</body>
</html>
person Sai Kalyan Kumar Akshinthala    schedule 02.12.2011

document.getElementById('Hidden1').value;

и предупредить возвращаемое значение

person Teun Pronk    schedule 02.12.2011

С чистым JavaScript:

var value = document.getElementById(id).value;
person Adrian Serafin    schedule 02.12.2011

Также убедитесь, что не ссылаетесь на элемент DOM до того, как он существует - как я только что сделал и потратил час, пытаясь понять, почему даже HelloWorld не будет работать.

person Joe    schedule 03.05.2013