Сохранить данные формы в скрытом поле, используя Jquery?

У меня есть форма, которая имеет всплывающую страницу с другой формой. В этой всплывающей форме я хочу взять все заполненные поля и сохранить их в отдельном поле в главной родительской форме через скрытое поле. Чтобы после отправки родительской формы я мог получить все поля через скрытые поля через php. Как я могу сделать это с помощью jquery? Могу ли я взять все поля из всплывающей формы и сохранить их в виде строки json в скрытом поле? Тогда в php можно превратить эту строку jquery в объект, чтобы я мог получить легкий доступ ко всем значениям формы? Если так, то как мне взять все поля из всплывающей формы и превратить ее в строку json? Или есть лучший / более простой способ?

2 ответа

Решение

Чтобы захватить форму во вход для публикации:

Вы хотите .serialize() форма.

$('input').val( $('form').serialize() );

Затем в PHP вы просто делаете parse_str() разделить его обратно в массив.

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

Чтобы открыть форму как модальную, а затем собрать данные в PHP:

// You can set this to not open by default and bind the opening to a button, or a link, etc...
$('form').dialog({
    modal: true
});

В PHP ваша форма будет содержаться внутри $_POST как обычно.

print_r( $_POST );

Одной из идей было бы использовать jQuery для создания таких полей:

$(".innerForm input").each(function() {
    $(".parentForm").append("<input type='hidden' name='"+$(this).attr("name")+"' value='"+$(this).val()+"'");
});

Если вы добавите значения на свою страницу таким образом, вы сможете получить к ним доступ, как если бы они были обычными частями $_POST

$_POST("hidden_field_name")
Другие вопросы по тегам