2010-10-06 6 views
2

У меня есть значение настройки проблемы для скрытого элемента ввода. Я попытался с помощью JQuery и $("#SomeHiddenElement").val(sSomeValue) функции и равнины JS document.getElementById("SomeHiddenElement").value = sSomeValue;, но ничего не работает ...Невозможно установить значение для скрытого элемента ввода

Когда я установил элемент текст типа он работает просто отлично ...

Проблема сохраняется как в FF и IE.

Любые идеи?

Код:

<input type="hidden" id="SomeHiddenElement" name="SomeHiddenElement" value="" /> 

document.getElementById("SomeHiddenElement").value = "Testing"; 
+0

вот простой один, вы положили, что внутри 'готовый handler'? – Reigel

+2

@Reigel - он сказал, что он работает, если он становится текстовым вводом, поэтому можно было бы предположить да. – annakata

ответ

5

Поскольку я не считаю, что у firebug возникла проблема с обновлением его представления DOM, и ваш код работает отлично изолированно, и у вас нет проблем с текстовыми вводами, и у меня никогда не возникало проблемы с обновлением скрытых входов я бы предположил, что что-то другое действует на скрытых входах, чтобы блокировать то, что вы делаете.

Я предлагаю вам создать тестовую страницу, лишенную всего содержимого, кроме того, что вы здесь дали, а затем постепенно добавлять функции для перехода к состоянию вашей реальной страницы. В какой-то момент он сломается, и вы, по крайней мере, узнаете, где проблема.

+3

@Stazh: если бы это сработало для вас, вы могли бы рассказать нам и будущим читателям, что проблема оказалась? – annakata

1

Ваш код хорошо.

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Setting the value of a hidden field</title> 
</head> 
<body> 
    <input type="hidden" id="SomeHiddenElement" value=""> 
    <script> 
    document.getElementById('SomeHiddenElement').value = 'Hello World'; 
    </script> 

    <script> 
    // Will alert 'Hello World' 
    alert(document.getElementById('SomeHiddenElement').value); 
    </script> 
</body> 
</html> 

Как вы проверяете, что значение скрытого поля не задано? Поскольку скрытые поля невидимы, вы можете видеть, что внутри, когда с JavaScript, или когда вы публикуете форму.

+0

Я отслеживаю значение с помощью Firebug. – Stazh

0

Вы можете попробовать:

$('#SomeHiddenElement').attr("value", "some text"); 

это только простое решение JQuery, чтобы установить атрибут «значение» с тестовым текстом.

Edit:

Ну, попробуйте это:

alert($("input[type='hidden']").length); 

Это, чтобы увидеть, сколько скрытых входных элементов на вашей странице.

+0

Не работает. – Stazh

+0

Я не новичок в HTML/JS/jQeury. Я знаю все методы, но в этом случае не работает, и я не знаю, почему ...Я думал, что у кого-то еще такая же проблема, чтобы опубликовать solutio здесь ... – Stazh

2

Ребят мне так жаль ... Проблема была в комбинации Firebug и мой пост код обработки ... Я установил его ...

Морали: двойной код проверки и дон Вслепую верьте Firebug.

Спасибо за ваши проблемы!

0

Они оба работают:

$('#SomeHiddenElement').attr("value", "some text"); 
$('#SomeHiddenElement').val("some text"); 

Подтверждено с помощью Chrome Developer Tools и Firebug

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