javascript动态生成表格,某一列关于父子窗口传值问题。

gfree999 2009-11-13 02:53:02

<SCRIPT language="javascript" type="text/javascript">

function openWindow1(){
var address=window.showModalDialog("smallcx.php","cx","dialogWidth=340px;dialogHeight=270px");
document.form1.address.value=address;

}


上面的是要弹出的子窗口!!!
现在的是动态生成的表格!

<script language="javascript">
function findObj(theObj, theDoc){

var p, i, foundObj;

if(!theDoc) theDoc = document;

if( (p = theObj.indexOf("?")) > 0 && parent.frames.length) {

theDoc = parent.frames[theObj.substring(p+1)].document;

theObjtheObj = theObj.substring(0,p);

}

if(!(foundObj = theDoc[theObj]) && theDoc.all)

foundObj = theDoc.all[theObj];

for (i=0; !foundObj && i < theDoc.forms.length; i++)

foundObj = theDoc.forms[i][theObj];

for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)

foundObj = findObj(theObj,theDoc.layers[i].document);

if(!foundObj && document.getElementById)

foundObj = document.getElementById(theObj);

return foundObj;

}




//添加一个参与人填写行
function AddSignRow(){

//读取最后一行的行号,存放在txtTRLastIndex文本框中

var txtTRLastIndex = findObj("txtTRLastIndex",document);
var rowID = parseInt(txtTRLastIndex.value);
var signFrame = findObj("SignFrame",document);
//添加行
var newTR = signFrame.insertRow(signFrame.rows.length);
newTR.id = "SignItem" + rowID;

//添加列:序号
var newNameTD=newTR.insertCell(0);
//添加列内容
newNameTD.innerHTML = newTR.rowIndex-1;

//添加列:商品名称
var newNameTD=newTR.insertCell(1);
//添加列内容
newNameTD.innerHTML = "<input name='address" + rowID + "' type='text' size='18' class='input1'> <a href='javascript:openWindow1()'>添加</a> ";

//添加列:规格
var newEmailTD=newTR.insertCell(2);
//添加列内容
newEmailTD.innerHTML = "<input name='guige' type='text' size='10' class='input1'>";

//添加列:单位
var newTelTD=newTR.insertCell(3);
//添加列内容
newTelTD.innerHTML = "<input name='danwei' type='text' size='8' class='input1'>";

//添加列:单价
var newMobileTD=newTR.insertCell(4);
//添加列内容
newMobileTD.innerHTML = "<input name='danjia' type='text' size='8' class='input1'>";

//添加列:件数
var newCompanyTD=newTR.insertCell(5);
//添加列内容
newCompanyTD.innerHTML = "<input name='jianshu' type='text' size='10' class='input1'>";
//增加列:数量
var newSuliangTD=newTR.insertCell(6);
//增加列内容
newSuliangTD.innerHTML="<input name='shuliang' type='text' class='input1' size='10' >";
//增加列:金额
var newSaleTD=newTR.insertCell(7);
//增加列内容
newSaleTD.innerHTML="<input name='sale' type='text' class='input1' size='10' >"
//增加备注
var newBeizhuTD=newTR.insertCell(8);
//增加列内容
newBeizhuTD.innerHTML="<input name='beizhu' type='text' class='input1' size='25' >"
//添加列:删除按钮
var newDeleteTD=newTR.insertCell(9);
//添加列内容
newDeleteTD.innerHTML = "<div align='center' style='width:40px'><a href='javascript:;' onclick=\"DeleteSignRow('SignItem" + rowID + "')\">删除</a></div>";

//将行号推进下一行
txtTRLastIndex.value = (rowID + 1).toString() ;
}


//删除指定行
function DeleteSignRow(rowid){
var signFrame = findObj("SignFrame",document);
var signItem = findObj(rowid,document);

//获取将要删除的行的Index
var rowIndex = signItem.rowIndex;

//删除指定Index的行
signFrame.deleteRow(rowIndex);

//重新排列序号,如果没有序号,这一步省略
for(i=rowIndex;i<signFrame.rows.length;i++){
signFrame.rows[i].cells[0].innerHTML = i.toString();
}
}//清空列表

</script>


比如:我动态生成一行表格后,在商品名称这一列中,要点“添加”按钮后自动弹出一个对话框,选择合适商品后,把值在传给这一列。如何实现动态生成N行,仍然可以传值!
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2009-11-13
  • 打赏
  • 举报
回复

父页面和子页面间刷新,关闭,操作,总结资料收集

http://topic.csdn.net/u/20091112/09/342769c1-0abf-4f92-8699-7ac7d462e0cf.html
阿非 2009-11-13
  • 打赏
  • 举报
回复
你想传什么

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧