Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对表单输入字段进行顺序编号的脚本_Javascript_Php - Fatal编程技术网

Javascript 对表单输入字段进行顺序编号的脚本

Javascript 对表单输入字段进行顺序编号的脚本,javascript,php,Javascript,Php,我有一些相当大的表单,它们的输入需要按顺序编号。我需要为每个字段使用两次序列号,例如 <label>Label for 17</label> <textarea name="q[17]"><?=$dataarray['q17']?></textarea> <label>Label for 18</label> <input type="text" name="q[18]" value="<?=$da

我有一些相当大的表单,它们的输入需要按顺序编号。我需要为每个字段使用两次序列号,例如

<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>
17的标签
18个月的标签
是否可以用脚本调用替换每个号码,以便为我添加号码?我遇到的主要问题是,如果我需要用新字段更新表单,我需要手动重新编号每个后续输入


我不能使用php循环,因为输入类型不同,字段之间还有其他文本和标签等。

当然,可以在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;
}
尝试:

for ($i = 0; $i < 20; $i++) {
  echo '<textarea name="q[' . $i . ']">' . $dataarray['q' . $i] . '"></textarea>';

}
($i=0;$i<20;$i++)的
{
回显'.$dataarray['q'.$i].'>';
}
你可以

$max = 19; //Or whatever    
for( $i = 0; $i <= $max; $i++){ ?>
        <textarea name="q[<?php echo $i; ?>]"><?=$dataarray['q' . $i]?></textarea><?php
}
$max=19;//或其他
对于($i=0;$i)
你说“我不能使用循环”。我对此表示怀疑,因为你可以这样做:

<?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..

标签
标签

那么你想通过JS动态地从JSON生成表单还是直接从PHP生成表单?嗨,对不起,我的错误是,字段类型不同,字段之间还有其他代码、标签等,所以我不能使用循环生成字段,我只想生成序列号。
<?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..