function sendrecord() { var l,i l=window.document.myform.chk.length; for (i=0;i<l;i++) { if(document.myform.chk[i].checked==true) { window.parent('top').document.myform.del.value=document.myform.chk[i].value; } }} <input type="checkbox" name="chk" onclick="sendrecord()"> 我是这样写的,但是上面的框价每次只能接受1个id号
可以连成字符串, var delArr = new Array(); if(document.myform.chk[i].checked==true) { delArr[delArr.length]= document.myform.chk[i].value; } window.parent('top').document.myform.del.value = delArr.join(","); --------------------------------------------------------------------- 然后sql语句 "delete from tbl where id in (" & del & ")";
换种思路:demo.htm<frameset rows="200,*"> <frame src="top.htm" name="topFrame"> <frame src="bottom.htm" name="bottomFrame"> </frameset>top.htm 点击,提交下框架.只能是同源.<a href="#" onclick="top.frames['bottomFrame'].document.delFrm.submit()">删除</a>bottom.htm //可以从数据中读取记录.<form action="del.asp" method="post" name="delFrm"> 1.<input type="checkbox" name="chk" value="1"><br> 2.<input type="checkbox" name="chk" value="2"><br> 3.<input type="checkbox" name="chk" value="3"><br> 4.<input type="checkbox" name="chk" value="4"><br> </form> del.asp<% @Language="JavaScript" %> <% function OpenDB(sdbname) { var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname); var conn = Server.CreateObject("ADODB.Connection"); conn.Open(connstr); return conn; } var chk = Request.Form("chk"); var oConn = OpenDB("data.mdb"); //id的类型为自动编号,数字型. //如果是字符串,可以先用split(",")分割chk.然后再组合.字符串用'包围起来. var sql = "delete From bao where id in(" + chk + ")"; //Response.Write(sql) oConn.Execute(sql); Response.Write(chk+"删除成功.") %>数据库data.mdb 表bao id,username
下面的checkbox点击传值,checkbox的值应该是该记录的ID号
<checkbox onclick="parent.window.frames['topFrameName'].document.formName.inputName.value=this.value" value=2>
其实还应该判断checkbox的状态来决定是否传值
{
var l,i
l=window.document.myform.chk.length;
for (i=0;i<l;i++)
{
if(document.myform.chk[i].checked==true)
{
window.parent('top').document.myform.del.value=document.myform.chk[i].value;
}
}}
<input type="checkbox" name="chk" onclick="sendrecord()">
我是这样写的,但是上面的框价每次只能接受1个id号
var delArr = new Array();
if(document.myform.chk[i].checked==true)
{
delArr[delArr.length]= document.myform.chk[i].value;
}
window.parent('top').document.myform.del.value = delArr.join(",");
---------------------------------------------------------------------
然后sql语句
"delete from tbl where id in (" & del & ")";
<frame src="top.htm" name="topFrame">
<frame src="bottom.htm" name="bottomFrame">
</frameset>top.htm 点击,提交下框架.只能是同源.<a href="#" onclick="top.frames['bottomFrame'].document.delFrm.submit()">删除</a>bottom.htm //可以从数据中读取记录.<form action="del.asp" method="post" name="delFrm">
1.<input type="checkbox" name="chk" value="1"><br>
2.<input type="checkbox" name="chk" value="2"><br>
3.<input type="checkbox" name="chk" value="3"><br>
4.<input type="checkbox" name="chk" value="4"><br>
</form>
del.asp<% @Language="JavaScript" %>
<%
function OpenDB(sdbname)
{
var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
var conn = Server.CreateObject("ADODB.Connection");
conn.Open(connstr);
return conn;
}
var chk = Request.Form("chk");
var oConn = OpenDB("data.mdb");
//id的类型为自动编号,数字型.
//如果是字符串,可以先用split(",")分割chk.然后再组合.字符串用'包围起来.
var sql = "delete From bao where id in(" + chk + ")";
//Response.Write(sql)
oConn.Execute(sql);
Response.Write(chk+"删除成功.")
%>数据库data.mdb
表bao
id,username