编写脚本以按顺序对表单输入字段进行编号
Script to sequentially number form input fields
我有一些相当大的表单,它们的输入需要按顺序编号。我需要对每个字段使用两次序列号,例如。。。
<label>Label for 17</label>
<textarea name="q[17]"><?=$dataarray['q17']?></textarea>
<label>Label for 18</label>
<input type="text" name="q[18]" value="<?=$dataarray['q18']?>">
<label>Label for 19</label>
<textarea name="q[19]"><?=$dataarray['q19']?></textarea>
有没有可能用一个脚本调用来替换每个号码,为我添加号码?我遇到的主要问题是,如果我需要用新字段更新表单,我需要手动重新编号以下的每个输入。
我不能使用php循环,因为输入类型各不相同,而且字段之间还有其他文本和标签等。
你说"我不能使用循环"。事实上,我对此表示怀疑,因为你可以做一些类似的事情:
<?php for($i = 0; $i < $max; $i++):
<?php if($fieldtype == 'text'): ?>
<input type="text" .... />
<?php elseif($fieldtype == 'select'): ?>
<select name="name">
... options
</select>
<?php else: ?>
etc....
<?php endif; ?>
<?php endfor; ?>
但无论如何,如果你坚持,你可以这样做:
<?php $num = 1; ?>
<label>Label for <?php echo $num; ?></label>
<textarea name="q[<?php echo $num; ?>]"><?=$dataarray['q'. $num++]?></textarea>
<label>Label for <?php echo $num; ?></label>
<input type="text" name="q[<?php echo $num; ?>]" value="<?=$dataarray['q'. $num++]?>">
etc..
诀窍是$num++
,上次打印"当前数字"时使用它。它是一个后增量器,这意味着它在使用后将增加1。
当然,您可以在PHP中使用for()
循环,如下所示:
function outputFields($num, $values)
{
$html = '';
for($i = 0; $i < $num; $i++)
{
$html.= '<textarea name="q['.($i + 1).']">'.$values['q'.($i + 1)].'</textarea>';
}
return $html;
}
现在,您只需要回显此函数的返回值,并传入要生成的字段数,还需要将$datearray
变量作为参数。
例如,要输出20个字段,可以使用:
<?php echo outputFields(20, $datearray) ?>
尝试使用:
for ($i = 0; $i < 20; $i++) {
echo '<textarea name="q[' . $i . ']">' . $dataarray['q' . $i] . '"></textarea>';
}
您可以
$max = 19; //Or whatever
for( $i = 0; $i <= $max; $i++){ ?>
<textarea name="q[<?php echo $i; ?>]"><?=$dataarray['q' . $i]?></textarea><?php
}
但您可能会更好地对$dataarray进行foreach。取决于您的数据结构。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 使用 Javascript 将字段输入除以 12
- 合并来自多个字段输入的搜索结果
- 使用 Javascript 实时打印字段输入数据
- 防止AngularJS中跨路由的字段输入重复
- 引用Iframe中的字段输入
- 禁用html5”;“必需”;不显示窗体部分时的字段输入属性
- JavaScriptFormValidation-需要特定的字段输入,但使用大写/小写
- 验证VF页面上所需字段输入的Javascript不起作用
- 在没有
- 使用Jquery将字段输入值作为查询字符串附加到url
- HTML5 jQuery选择所有日期字段'输入:date'
- 将字段输入复制到另一个字段输入
- 向图像添加字段(输入)
- 动态添加字段输入不会存储值并传递给控制器
- 向输入字段输入键击
- 我如何通过javascript验证datetime字段输入
- HTML如何将用户字段输入作为json对象发送
- 如何根据'select' onchange事件将值填充到第二个输入字段?输入