@Leffken
Студент, как студент!

Почему не правильно формируется JSON?

Есть форма:
<form>
<input name="name" id="name" type="text">
<input name="email" id="email" type="email">
<input name="phone" id="phone" type="text">
</form>

Обработчик:
var arr = {};
$('form input').each(function(){
    arr[$(this).attr('id')] = $(this).val();
});

Получаю массив, ключи - id , а все значения пустые! хотя console.log($(this).val()) выдает правильное значение. Если писать
$('form input').each(function(){
    arr[$(this).attr('id')] = "blabla";
});

ключи - id, а значения blabla.
Есть конечно один нюанс, форма сначала находится в скрытом div'е, а потом переезжает в модальное окно. Но console.log печатает значение input'a
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
@vovarevenko
Попробуйте без переезда блока. Сделайте сразу видимым и запустите процесс.
Еще, вот так нужно бы сделать:
$('form input').each(function(i, elem){
    arr[$(elem).attr('id')] = $(elem).val();
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alams_stoyne
@alams_stoyne
Full Stack Developer - #PHP #CSS #JS #DB
Как вариант например можно использовать для всей формы .serialize()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы