将动态值添加到隐藏的表单字段

时间:2013-05-15 08:46:31

标签: php hidden-field

我有一个名为插件的联系表单字段选择选项

它的代码是

<?php foreach ($addons as $options) { ?>
<option value="<?php echo $options->addon_name; ?>"><h5><?php echo $options->addon_name; ?></h5></option>
<?php } ?>

每个插件都有它独特的价格。它可以通过 $ options-&gt; addon_price获取; 我只在联系表单中添加了插件名称,因此我只有在用户提交表单后才能获得它的名称。同样,我也需要获得该插件价格,而无需创建新字段并要求用户在下拉列表中选择价格。

有任何想法吗?

4 个答案:

答案 0 :(得分:0)

您可以使用

<?php foreach ($addons as $options) { ?>
<option value="<?php echo $options->addon_price; ?>"><h5><?php echo $options->addon_name; ?></h5></option>
<?php } ?>

你可以从下拉菜单中获取价格

答案 1 :(得分:0)

你可以尝试这个,你将能够得到价格,它会向用户显示addon_name。

<?php foreach ($addons as $options) { ?>
<option value="<?php echo $options->addon_price; ?>"><h5><?php echo $options->addon_name; ?></h5></option>
<?php } ?>

答案 2 :(得分:0)

您可以使用以下技巧:

<?php foreach ($addons as $options) { ?>
<option value="<?php echo $options->addon_name.','.$options->addon_price; ?>">
        <h5><?php echo $options->addon_name; ?></h5>
</option>
<?php } ?>

使用下拉列表中的名称添加价格,然后在提交页面后,您可以获取名称和价格的字符串,然后您可以使用类似它的爆炸函数将其与,分开:< / p>

$pieces = explode(",", $str);

您可以按$name = $pieces[0]$price = $pieces[1]使用价格和名称。

答案 3 :(得分:0)

听起来你需要一个唯一的ID来识别插件。如果它是一个不会改变的静态数组,你甚至可以使用数组键来实现这个目的,但我会在对象中添加一个addon_id字段。

addons数组将是这样的:

$addons = array(
    1 => $addon1,
    2 => $addon2,
    3 => $addon3,
    ... etc
);

您的选择选项可以将数组键作为值:

<?php foreach ($addons as $key => $options) { ?>
<option value="<?php echo $key; ?>"><h5><?php echo $options->addon_name; ?></h5></option>
<?php } ?>

然后当您处理选定的插件时,使用该键访问相应的插件,如下所示:

$selected_addon = $addons[$_POST['addon']];

,显然替换了正确的表单元素名称,并首先清理输入,这只是为了给你一个想法。