我有这个php网站,我用它来使用javascript。 其中一个页面是一个输入表单,其中包含10行输入数据。 在这种情况下,一行将以这种方式编码:
echo "<td style='border-width: 0'><input type='text' id = 'price1' style = 'font-size: 10px' name='poline1[price]' size='7'></td>";
在此输入字段旁边有一个按钮:
echo "<td style='border-width: 0'><a href = 'javascript:void(0)' onClick = 'copyRow1;' class='button6'>Copy Down</a></td>";
Javascript函数copyRow1如下:
<script type="text/javascript">
function copyRow1() {
document.fabricorder.price2.value = document.fabricorder.price1.value;
}
</script>
它将输入框ID = price1的输入值复制到输入框ID = price2。
我有10个像这样的Javascript函数 copyRow1(),copyRow2(),copyRow3()等....
它工作正常,但我正在尝试优化所有代码,以便更容易修改,现在我想循环我的所有行。
所以我想以这种方式更改我的行脚本:
for ($i = 1; $i <= 10; ++$i){
echo "<tr>";
echo "<td style='border-width: 0'><input type='text' id = 'price$i' style = 'font-size: 10px' name='poline[$i][price]' size='7'></td>";
echo "<td style='border-width: 0'><a href = 'javascript:void(0)' onClick = 'copyRow($i);' class='button6'>Copy Down</a></td>";
echo "</tr>";
}
和我的功能这样:
<script type="text/javascript">
function copyRow(i) {
document.fabricorder.price(i+1).value = document.fabricorder.price(i).value;
}
</script>
不幸的是,这不起作用。我做错了什么?
答案 0 :(得分:0)
尝试将copyRow
功能修改为:
function copyRow(i) {
for (var j=i,numRows=document.fabricorder.length;j<numRows;j++) {
document.fabricorder["price"+(j+1)].value = document.fabricorder["price"+(j+1)].value;
}
}
您需要遍历所有输入字段,将每个值复制到下一个。如果没有看到100%的代码,很难给你100%的工作代码。你能把它放在JSFiddle中吗?