今天在写出库单审核页的时候,由于需要对审核过后的单据进行数量修改并返回到库存里,偷点懒直接用JS动态增加相应表单组件来完成了,相信也有很多朋友需要这方面的资料,现在把源码公开下!
JS源码(addnew.js):
<script language="javascript">
function delChild(id){
var table = document.getElementById("Table1");
var bb=table.getElementsByTagName("tr");
for(var i=0; i<bb.length; i++){
if(bb[i].d==id) break;
}
table.deleteRow(i);
}
var oa=0;//定义全局函数
var row_html=Array();
function tbladdrow(){
oa++;
var Table1 = document.getElementById("Table1");
var i=Table1.rows.length;
if(i>=10){
alert("最多只能添加十条.");
return;
}
row_html[0]='<tr><td><center><input name="ID' + i + '" class="short none" type=text regName ="ID" reg = "_r_" size="10" value="'+ (i+1) +'" readonly="1"></td>';
row_html[1]='<tr><td><center><input name="cp_number' + i + '" class="none" type=text regName ="货品编号" reg = "_r_" size="10" value="" readonly="1"></td>';
row_html[2]='<td><center><input name="cp_tm' + i + '" type="text" regName ="货品条码" size="10" value="" readonly="1"><img src="images/03.gif" border="0" style="cursor:hand;" alt="单击浏览更多产品信息" onclick="getinfo('+ i +')"></td>';
row_html[3]='<td><center><input name="cp_name' + i + '" class="none" type="text" regName ="产品名称" size="10" value="" readonly="1"></td>';
row_html[4]='<td><center><input name="cp_color' + i + '" class="none" type="text" regName ="颜色" size="10" value="" readonly="1"></td>';
row_html[5]='<td><center><input name="cp_dw' + i + '" class="none" type="text" regName ="单位" reg = "_r__real_" size="10" value=""></td>';
row_html[6]='<td><center><input name="sale' + i + '" class="short" type="text" regName ="单价" reg = "_r__real_" size="10" value="0"></td>';
row_html[7]='<td><center><input name="number' + i + '" class="short" type="text" regName ="数量" reg = "_r__real_" size="10" value="0"></td>';
row_html[8]='<td><center><input name="money' + i + '" class="none" type="text" regName ="金额" reg = "_r__real_" size="10" value="0"></td></tr>';
row = Table1.insertRow(Table1.rows.length);
row.d=oa;
for(x=0;x<=8;x++){
var col = row.insertCell(x);
col.innerHTML = row_html[x]
}
}
function tbladdrows(items){
for(var i =0 ; i < items; i++){
tbladdrow();
}
}
function getinfo(id){
window.open('system_basic_list_saleadd.php?form=form1&field=cp_tm'+id,'add','directorys=no,toolbar=no,status=no,menubar=no,resizable=no,width='+(window.screen.width-100)+',height=500,left='+ (window.screen.width-(window.screen.width-100))/2 +',top=100,scrollbars=yes');
}
</script>
调用文件源码(PHP):
<?php
echo "<table width='100%' id='Table1' cellspacing='0' cellpadding='0' style='border-color:#000;border-collapse:collapse;' border='1' bordercolor='#000000'>
<TBODY id='lines'>
<tr height='27'>
<td><center>ID</td>
<td><center>货号</td>
<td><center>条码</td>
<td><center>名称</td>
<td><center>颜色</td>
<td><center>单位</td>
<td><center>单价</td>
<td><center>数量</td>
<td><center>金额</td></tr><tr>
<td colspan='9'>
<input onclick=\"tbladdrows(this.shu);\" type=\"button\" shu=\"1\" value=\"添加一个产品\" name=\"insert\"/> 添加产品用于此单据产品数量修改并返回到库存,因数量可为正数或负数
</td>
</tr>";
?>
<script language="javascript" src="js/addnew.js"></script>
</TBODY>
</table>
运行界面:

图片1
