0

我有一个带有另一个表单的弹出页面的表单。在该弹出表单中,我想填写所有字段,并通过隐藏字段将其存储在主父表单中的单个字段中。这样当父表单被提交时,我可以通过 php.ini 的隐藏字段获取所有字段。我怎么能用 jquery 做到这一点?我可以从弹出表单中获取所有字段并将其作为 json 字符串存储在隐藏字段中吗?然后在 php 中能够将该 jquery 字符串转换为一个对象,以便我可以轻松访问所有表单值?如果是这样,那么我将如何从弹出表单中获取所有字段并将其转换为 json 字符串?还是有更好/更简单的方法?

4

2 回答 2

5

要将表单捕获到输入中以进行发布:

你想要.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 );
于 2012-04-16T18:45:35.603 回答
0

一个想法是使用 jQuery 创建如下字段:

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

如果您以这种方式将值添加到页面,那么您将能够访问它们,就好像它们是 $_POST 的正常部分一样

$_POST("hidden_field_name")
于 2012-04-16T18:48:27.657 回答