我想我需要在这里建议。我不知道我是否以正确的方式做这件事。所以我有从数据库中提取的这个输入字段值(选项表)。根据输入字段更改输入字段值php
<!-- input to get amount of people -->
<tr>
<th scope="row"><?php _e('How many people do you want to add?', 'keeping-points'); ?></th>
<td>
<input type="text" size="15" name="posk_options[ppl_amount]" value="<?php _e($options['ppl_amount'], 'keeping-points'); ?>" />
</td>
</tr>
<?php dlaugh_ppl_names(); ?>
用户类型有多少,他们希望有输入字段和下面的函数(dlaugh_ppl_names)用户将创建的形式提交的输入字段。它通过一个for循环来创建字段的数量。
function dlaugh_ppl_names() {
$options = get_option('posk_options');
$name_num = $options['ppl_amount'];
for($i=0;$i < $name_num; $i++) {
$point = "txt_" . $i;
$name_build = $point . "_name";
$point_total = $point . "_point_total";
$name_print = $options[$name_build];
$changed_name = str_replace(' ', '_', $name_print);
$point_build = "point_total_" . $changed_name;
if ($options[$name_build] == "") {
$set_points = $name_num - $i;
echo $i;
$final_ppl = $name_num - $set_points;
$options['ppl_amount'] = $final_ppl;
$options[$name_build] = null;
if ($options[$name_build] == null) {
$options[$point_total] = null;
}
$options = array_filter($options);
update_option('posk_options', $options);
break;
}
if ($options[$name_build] == true) {
?>
<!-- Add Person Name -->
<tr>
<th scope="row">
<?php if ($options[$name_build] == "") {
_e('Person ' . $i + 1, 'keeping-points'); ?>
<?php } else
_e($options[$name_build], 'keeping-points');
?>
</th>
<td>
<input type="text" size="20" name="posk_options[<?php echo $name_build ?>]" value="<?php _e($options[$name_build], 'keeping-points'); ?>" />
<input type="text" size="10" name="posk_options[<?php echo $point_build; ?>]" value="<?php _e($options[$point_build], 'keeping-points'); ?>" />
</td>
</tr>
<?php
}
}
for($i=0;$i < $name_num; $i++) {
$point = "txt_" . $i;
$name_build = $point . "_name";
$point_total = $point . "_point_total";
$name_print = $options[$name_build];
$changed_name = str_replace(' ', '_', $name_print);
$point_build = "point_total_" . $changed_name;
if ($options[$name_build] == false && $options[$name_build] == null) {
?>
<!-- Add Person Name -->
<tr>
<th scope="row"><?php _e('Person' . ' ' . ($i + 1), 'keeping-points'); ?></th>
<td>
<input type="text" size="20" name="posk_options[<?php echo $name_build ?>]" value="<?php _e($options[$name_build], 'keeping-points'); ?>" />
<input type="hidden" name="posk_options[<?php echo "point_total_" . $name_print ?>]" value="<?php _e($options[$point_build], 'keeping-points'); ?>" />
</td>
</tr>
<?php
}
}
}
创建字段后,输入控件ppl_amount将显示用户创建了多少个字段。 (可以说类型15,按下提交,字段被创建,然后15仍然存在)。我希望15在那里,但在提交时,我希望15根据实际填写的名称的多少个输入字段进行更改。假设他们输入了15 ...然后只填写了5,那么15值就会变成5。代码我有工作,但我的问题是价值15重新发布作为人选择的号码,但如果我刷新页面然后字段将按我的预期工作。所以我希望根据dlaugh_ppl_names()函数填充的输入数量来更改ppl_amount。
希望它不是太混乱。感谢您的任何建议!我想在每个输入字段被填写后有一个Ajax调用来刷新页面,但这真的很烦人。我填充就像有一个简单的答案,我只是想念。