JQuery и скрытые поля - PullRequest
       34

JQuery и скрытые поля

0 голосов
/ 30 ноября 2009

Мне нужно создать скрытое поле на моей странице, сохранить в нем какое-то значение и прочитать его позже. Если я создаю обычный текстовый ввод и читаю его значение с помощью jquery, я получаю правильное значение. Но если я создаю скрытое поле ввода, заполняю его некоторым текстом и считываю его значение, используя jquery, я получаю нулевое значение.

пример:

Предположим, следующее текстовое поле ввода содержит значение "Foo".

<input type="text" id="inputfield"> </input>

Теперь, если я сделаю $("#inputfield").val(), я правильно получу "Foo"

Но если я изменил тип на «скрытый» и установил значение поля, используя $("#inputfield").val("Foo"), затем попытался прочитать значение, используя $("#inputfield").val(), он возвращает «».

Может кто-нибудь сказать мне, почему это происходит и каким-либо образом это исправить?

Спасибо.

Ответы [ 4 ]

1 голос
/ 30 ноября 2009

Следующее работало как ожидалось:

alert( $("input#fooBox").val() ); // alert default value
$("input#fooBox").val("end test"); // change value
alert( $("input#fooBox").val() ); // alert new value

<input type="hidden" id="fooBox" value="hello world" />
0 голосов
/ 30 ноября 2009

Вы не пишете type="hidden", вы либо делаете его невидимым, назначая оператор CSS display: none, либо скрываете его с помощью $(element).hide(); или .fadeOut() в jQuery. Если вы хранили что-то, что никогда не будет видно пользователю, глобальные переменные хорошо справятся с работой.

0 голосов
/ 30 ноября 2009

Скрытые поля или другие поля ввода должны вести себя одинаково. Может быть, у вас есть другая ошибка где-то.

0 голосов
/ 30 ноября 2009

Не воспроизводится. Укажите больше кода / HTML / контекстную информацию / сообщения об ошибках.

Проверьте здесь для корректно работающего примера http://jsbin.com/utunu3/ (http://jsbin.com/utunu3/edit для кода)

<input type="hidden" id="inputfield"> </input>
alert($("input#inputfield").val());
$("input#inputfield").val("foo");
alert($("input#inputfield").val());

предупреждает сначала пустую строку, затем foo.

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