Невозможно установить значение для скрытого элемента ввода - PullRequest
2 голосов
/ 06 октября 2010

У меня проблема с настройкой скрытого элемента ввода.Я пытался использовать функции 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";

Ответы [ 6 ]

6 голосов
/ 06 октября 2010

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

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

2 голосов
/ 06 октября 2010

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

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

Спасибо за беспокойство!

1 голос
/ 06 октября 2010

Ваш код в порядке.

<!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 голосов
/ 18 сентября 2018

Я знаю, что это было давно, но у меня была та же проблема, и мне потребовалось некоторое время, чтобы выяснить, что у меня было более одного элемента (если быть точным) на странице с одинаковым id = "" и этоказалось, что моя функция JS не работает (что, я думаю, это изменение значения только первого элемента).В любом случае, это может помочь кому-то сэкономить время на расследовании:)

0 голосов
/ 11 сентября 2014

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

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

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

0 голосов
/ 06 октября 2010

Можете ли вы попробовать:

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

это простое решение jQuery для установки атрибута «значение» с тестовым текстом.

Edit:

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

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

Показывает, сколько скрытых элементов ввода на вашей странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...