<script>
window.open("checked.htm","","");
</script>
<div id=mytable><table><tr><td></td><tr></table></div>checked.htm
<script>
function settable()
{
j=0;str="<table>";
for(i=0;i<document.all.mycheck.length;i++)
if(document.all.mycheck[i].checked)
{
str+="<tr><td><input name=mytext"+j+" value="+document.all.mycheck[i].value+"></td></tr>";
j++;
}
str+="</table>";
opener.document.all.mytable.innerHTML=str;
}
</script>
<input type=checkbox name=mycheck value=1>1
<input type=checkbox name=mycheck value=2>2
<input type=checkbox name=mycheck value=3>3
<input type=button onclick=settable()>
window.open("checked.htm","","");
</script>
<div id=mytable><table><tr><td></td><tr></table></div>checked.htm
<script>
function settable()
{
j=0;str="<table>";
for(i=0;i<document.all.mycheck.length;i++)
if(document.all.mycheck[i].checked)
{
str+="<tr><td><input name=mytext"+j+" value="+document.all.mycheck[i].value+"></td></tr>";
j++;
}
str+="</table>";
opener.document.all.mytable.innerHTML=str;
}
</script>
<input type=checkbox name=mycheck value=1>1
<input type=checkbox name=mycheck value=2>2
<input type=checkbox name=mycheck value=3>3
<input type=button onclick=settable()>
var tb= document.all("YourTableName");
var isrow=tb.insertRow(tb.rows.length);
2:向行中添加列:
var MaxCell =你要添加的列数
for(var i=0;i<MaxCell;i++)
isrow.insertCell(i);
3:得到父窗口的对象:
window.opener.…… //这样就可以对他进行操作了
父窗口的源码正确写法是什么?为什么我不能正常执行?
你把我的代码拷过去不能运行吗?请说清楚些
window.open("checked.htm","","");
</script>
<div id=mytable><table><tr><td></td><tr></table></div>
这一段是父窗口代码。下面是子窗口代码。
我刚试了没问题
-------------------------------------------------------------------
<BODY onfocus="showText()">
<script language=javascript>
function setCookie(s,v)
{
var expires = new Date();
expires.setTime(expires.getTime() + 365*24*60*60*1000);
document.cookie= s + "=" + v + ";expries=" + expires.toGMTString();
}function getCookie(s)
{
var startPoint = 0;
var endPoint = 0;
var isFound = false;
var cookieStr = document.cookie;
var i = 0; s = s + "=";
while (i<cookieStr.length) {
startPoint = i;
endPoint = startPoint + s.length; if (cookieStr.substring(startPoint,endPoint) == s) {
isFound = true;
break;
}
i++;
} if (isFound == true) {
startPoint = endPoint;
endPoint = cookieStr.indexOf(";",startPoint);
if(endPoint < startPoint) endPoint = cookieStr.length;
return unescape(cookieStr.substring(startPoint,endPoint));
}
}function showText() {
if(!getCookie("tValue")) document.all.theText.value="";
else document.all.theText.value=(getCookie("tValue"));
}
</script>
<textarea cols=30 rows=10 id=theText></textarea>
<input type="button" name="select" id="select" value="选择" onClick="var a=window.showModalDialog('test.htm','Calendar','dialogWidth:520px;dialogHeight:450px;');">
</BODY>test.htm
----------------------------------------------------------------
<BODY>
<script>
function setCookie(s,v)
{
var expires = new Date();
expires.setTime(expires.getTime() + 365*24*60*60*1000);
document.cookie= s + "=" + v + ";expries=" + expires.toGMTString();
}function getCookie(s)
{
var startPoint = 0;
var endPoint = 0;
var isFound = false;
var cookieStr = document.cookie;
var i = 0; s = s + "=";
while (i<cookieStr.length) {
startPoint = i;
endPoint = startPoint + s.length; if (cookieStr.substring(startPoint,endPoint) == s) {
isFound = true;
break;
}
i++;
} if (isFound == true) {
startPoint = endPoint;
endPoint = cookieStr.indexOf(";",startPoint);
if(endPoint < startPoint) endPoint = cookieStr.length;
return unescape(cookieStr.substring(startPoint,endPoint));
}
}
function showCheck()
{
var s= "";
for(i=0;i<document.all.mycheck.length;i++)
if(document.all.mycheck[i].checked)
s += document.all.mycheck[i].value + "\n";
setCookie("tValue",s);}
</script>
<input type=checkbox name=mycheck value=aaaaa>aaaaa
<input type=checkbox name=mycheck value=bbbbb>bbbbb
<input type=checkbox name=mycheck value=ccccc>ccccc
<br><br>
<button onclick="showCheck()">确 定</button> <button onclick="window.close()">关 闭</button>
</BODY>
首先感谢你的指教。但我想通过子窗口被选中的n个选项提交后在父窗口动态产生n行的输入框。
---------------------------------------------------------------
<BODY onfocus="showText()">
<script language=javascript>
function setCookie(s,v)
{
var expires = new Date();
expires.setTime(expires.getTime() + 365*24*60*60*1000);
document.cookie= s + "=" + v + ";expries=" + expires.toGMTString();
}function getCookie(s)
{
var startPoint = 0;
var endPoint = 0;
var isFound = false;
var cookieStr = document.cookie;
var i = 0; s = s + "=";
while (i<cookieStr.length) {
startPoint = i;
endPoint = startPoint + s.length; if (cookieStr.substring(startPoint,endPoint) == s) {
isFound = true;
break;
}
i++;
} if (isFound == true) {
startPoint = endPoint;
endPoint = cookieStr.indexOf(";",startPoint);
if(endPoint < startPoint) endPoint = cookieStr.length;
return unescape(cookieStr.substring(startPoint,endPoint));
}
}function showText()
{
mydiv.innerHTML = getCookie("tValue");
}</script>
<div id=mydiv></div>
<input type="button" name="select" id="select" value="选择" onClick="var a=window.showModalDialog('test.htm','Calendar','dialogWidth:520px;dialogHeight:450px;');">
</BODY>test.htm
---------------------------------------------------------------
<BODY>
<script>
function setCookie(s,v)
{
var expires = new Date();
expires.setTime(expires.getTime() + 365*24*60*60*1000);
document.cookie= s + "=" + v + ";expries=" + expires.toGMTString();
}function getCookie(s)
{
var startPoint = 0;
var endPoint = 0;
var isFound = false;
var cookieStr = document.cookie;
var i = 0; s = s + "=";
while (i<cookieStr.length) {
startPoint = i;
endPoint = startPoint + s.length; if (cookieStr.substring(startPoint,endPoint) == s) {
isFound = true;
break;
}
i++;
} if (isFound == true) {
startPoint = endPoint;
endPoint = cookieStr.indexOf(";",startPoint);
if(endPoint < startPoint) endPoint = cookieStr.length;
return unescape(cookieStr.substring(startPoint,endPoint));
}
}
function showCheck()
{
var h = "";
for(i=0;i<document.all.mycheck.length;i++)
if(document.all.mycheck[i].checked)
h += '<input value=' + document.all.mycheck[i].value + '><br>';setCookie("tValue",h);
}
</script>
<input type=checkbox name=mycheck value=aaaaa>aaaaa
<input type=checkbox name=mycheck value=bbbbb>bbbbb
<input type=checkbox name=mycheck value=ccccc>ccccc
<br><br>
<button onclick="showCheck()">确 定</button> <button onclick="window.close()">关 闭</button>
</BODY>
请指教一下上述代码的原理,为什么产生列表后,没有随即产生输入框的代码,要是没有的话,我在父窗口提交时,就无法向数据库传递参数的值了。
做一个实验:
<body>
<form onsubmit="alert(myText.value);event.returnValue=false">
<div id=myDiv></div>
</form><script>
myDiv.innerHTML = "<input id=myText><br><input type=submit value=submit>";
</script>
</body>至于我给你的代码。你还要改一下,让产生的输入框符合你的要求,比如name分别是什么,value分别是什么。