Сохранить данные формы в скрытом поле, используя 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")