2016-05-17 2 views
-1

У меня есть поле ввода с идентификатором электронной почты и im, чтобы получить значение этого поля для обновления моего объекта. Однако, когда я пытаюсь редактировать его снова без обновления и пытаюсь отправить его через Ajax, поле электронной почты становится пустым. Я получаю это поле, используя $ («# Email»). Val(), и я также попытался использовать .attr («значение»), но это старое значение поля, а не новое значение.Поле ввода не получит обновленное значение

Моя проблема аналогична этой «jQuery showing empty string on input text?», однако я не могу использовать решение там, поскольку я должен использовать поле ввода несколько раз после обновления.

ответ

2

Однако, когда я пытаюсь редактировать его снова без обновления и пытаюсь отправить его через Ajax, поле электронной почты становится пустым.

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

$("#Email").val() прочитает значение и не будет пустым.

.attr("value") прочитает, какое значение было при загрузке страницы, но не учитывает изменения, внесенные пользователем.

Моя проблема аналогична этой «jQuery showing empty string on input text?», однако я не могу использовать решение там, поскольку я должен использовать поле ввода несколько раз после обновления.

Вы понимаете причину этого решения? Проблема заключалась в том, что значение было перенесено на переменную Name слишком рано. Решение состояло в том, чтобы перевести вызов на val() на более поздний. (После того, как blur вступил в силу, а не до)


Я надеюсь, что это полезно, но есть на самом деле не намного больше, я могу вам сказать, не видя кода.

Я ожидаю, что этот вопрос будет закрыт из-за отсутствия деталей. Когда вы публикуете новый вопрос, попробуйте исправить одну проблему за раз (либо «станет пустой», либо «получит старое значение»), и опубликуйте достаточно подробностей для решения. (т. е. SSCCE)

+0

Прежде всего, спасибо вам за ваш ответ. Я заметил, что одна из проблем заключалась в том, что код моих коллег устанавливал меня в переменной «». Тем не менее, я все еще не могу получить входное значение без обновления. Я изменяю значение на входе, но когда я проверяю элемент, он все еще отображается как старое значение. Я тоже отправлю его сюда, если найду решение. Еще раз благодарю вас за ваше время. –

+0

Элемент проверки, вероятно, будет использовать 'getAttribute (" value ")' (используется jQuery 'attr (" value ")'), который представляет исходное значение при загрузке HTML. Это отличается от редактируемого значения в режиме реального времени, к которому обращается значение '.value' (или в jQuery,' .val() '). Если Inspect Element ищет атрибут вместо последнего значения, тогда вы, возможно, не будете для этого можно полагаться на Inspect Element. –

+0

Да, вы правы! Я использую .val(), чтобы получить последнее значение. У меня есть строка редактирования, которую я скрываю и показываю для редактирования и после завершения редактирования. Я установил значение в значение «» и спрячу контроллер и отправлю данные через Ajax. Однако, когда я хочу снова изменить и ввести значение, электронная почта всегда пустая строка, и, как вы сказали, проверенный элемент имеет старое значение. То, что я пытаюсь сделать, это получить новую добавленную стоимость –

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