问问题
739 次
2 回答
1
看起来您正在添加具有相同 ID 的多个字段。在你的循环中,你有这个:
<input type= "text" id= "qty" name= "<?php echo('qty_'.$n); ?>" maxlength "10" value= "<?php if (isset($qty[$n])) echo ($qty[$n]); ?>"/>
<textarea id= "desc" name= "<?php echo('desc_'.$n); ?>" value= "<?php if (isset($desc[$n])) echo ($desc[$n]); ?>"></textarea>
<input type= "text" id= "unit_price" name= "<?php echo('unit_price_'.$n); ?>" maxlength= "10" value= "<?php if (isset($unit_price[$n])) echo ($unit_price[$n]); ?>" />
<input type= "text" id= "line_total" name= "<?php echo('line_total_'.$n); ?>" maxlength= "10" value= "<?php if (isset($line_total[$n])) echo ($line_total[$n]); ?>" />
当循环运行不止一次时,这会产生相同 id 的多个实例,这是无效的 html,并且可以解释您遇到的问题。我建议做这样的事情:
<input type="text" name="qty[]" id="<?php echo('qty_'.$n); ?>" maxlength="10" value="<?php if (isset($qty[$n])) echo ($qty[$n]); ?>"/>
<textarea name="desc[]" id="<?php echo('desc_'.$n); ?>" value="<?php if (isset($desc[$n])) echo ($desc[$n]); ?>"></textarea>
<input type="text" name="unit_price[]" id="<?php echo('unit_price_'.$n); ?>" maxlength="10" value="<?php if (isset($unit_price[$n])) echo ($unit_price[$n]); ?>" />
<input type="text" name="line_total[]" id= "<?php echo('line_total_'.$n); ?>" maxlength="10" value="<?php if (isset($line_total[$n])) echo ($line_total[$n]); ?>" />
你会注意到我交换了名字和身份证。允许多个名称。更重要的是,如果你像我一样添加方括号,具有相同名称的字段将作为数组返回,这使得在后端处理它们变得非常容易。
于 2012-08-28T19:02:10.000 回答
1
试试看:
<textarea id= "desc" name= "<?php echo('desc_'.$n); ?>"><?php if (isset($desc[$n])) echo ($desc[$n]); ?></textarea>
于 2012-08-28T18:59:38.053 回答