比如我在a.asp中有如下代码:
<script>
var object = new Object();function t_onchange(obj){
var s = document.getElementById("s1").value;
if(typeof(object[s])=='undefined'){
object[s]=new Object();
}
object[s][obj.id]=obj.checked;
}function s_change(){
for(var i=1;i<7;i++){
document.getElementById(i).checked=false;
}
var s = document.getElementById("s1").value;
if(typeof(object[s])!='undefined'){
for(var i in object[s]){
document.getElementById(i).checked=object[s][i];
}
}
}
</script> 第
<select name="week" id="s1" onchange="s_change()">
<%
for i=1 to 7
response.Write "<option value='"&i&"'>"&i
NEXT
%>
</select>
周
<table>
<tr>
<td>星期一</td><td>星期二</td><td>星期三</td><td>星期四</td><td>星期五</td><td>星期六</td><td>星期日</td>
</tr>
<tr>
<% for a=1 to 7
response.Write"<td><input type='checkbox' name='"&a&"' id='"&a&"' onClick='t_onchange(this)'></td>"
next
%>
</tr>现在checkbox的值都存在object[][]这个数组上,那我应该在b.asp中如何获取a.asp中所选的内容,并且将它换成字符串(例如我之前选过 第一周:星期二 星期四 第三周:星期一 星期六),加入到数据库中?
<script>
var object = new Object();function t_onchange(obj){
var s = document.getElementById("s1").value;
if(typeof(object[s])=='undefined'){
object[s]=new Object();
}
object[s][obj.id]=obj.checked;
}function s_change(){
for(var i=1;i<7;i++){
document.getElementById(i).checked=false;
}
var s = document.getElementById("s1").value;
if(typeof(object[s])!='undefined'){
for(var i in object[s]){
document.getElementById(i).checked=object[s][i];
}
}
}
</script> 第
<select name="week" id="s1" onchange="s_change()">
<%
for i=1 to 7
response.Write "<option value='"&i&"'>"&i
NEXT
%>
</select>
周
<table>
<tr>
<td>星期一</td><td>星期二</td><td>星期三</td><td>星期四</td><td>星期五</td><td>星期六</td><td>星期日</td>
</tr>
<tr>
<% for a=1 to 7
response.Write"<td><input type='checkbox' name='"&a&"' id='"&a&"' onClick='t_onchange(this)'></td>"
next
%>
</tr>现在checkbox的值都存在object[][]这个数组上,那我应该在b.asp中如何获取a.asp中所选的内容,并且将它换成字符串(例如我之前选过 第一周:星期二 星期四 第三周:星期一 星期六),加入到数据库中?
可以用for each来获取没一条信息啊
<form action="b.asp" method="post">
第
<select name="week" id="s1">
<%
for i=1 to 7
response.Write " <option value='"&i&"'>"&i
NEXT
%>
</select>
周
<table>
<tr>
<td>星期一 </td> <td>星期二 </td> <td>星期三 </td> <td>星期四 </td> <td>星期五 </td> <td>星期六 </td> <td>星期日 </td>
</tr>
<tr>
<% for a=1 to 7
response.Write" <td> <input type='checkbox' name='day' value='"&a&"'> </td>"
next
%>
</tr> </table>
<input type="submit" onclick="doit()">
</form>b.asp<%
week = Request("week")
dy = Request("day")
dy = Replace(dy, " ", "")
arr = Split(dy,",")
s = ""
For i = 0 To UBound(arr)
s = s & getDay(arr(i))
If i <> UBound(arr) Then s = s & ","
Next
Function getDay(s)
Select Case CStr(s)
Case "1" getDay = "星期一"
Case "2" getDay = "星期二"
Case "3" getDay = "星期三"
Case "4" getDay = "星期四"
Case "5" getDay = "星期五"
Case "6" getDay = "星期六"
Case "7" getDay = "星期日"
End Select
End Function
Response.Write week
Response.Write s
%>
首先,不能用单纯的数字来做ID
所以
<% for a=1 to 7
response.Write" <td> <input type='checkbox' name='"&a&"' id='"&a&"' onClick='t_onchange(this)'> </td>"
next
%>
这个应该改成
<% for a=1 to 7
response.Write" <td> <input type='checkbox' name='b"&a&"' id='b"&a&"' onClick='t_onchange(this)'> </td>"
next
%> JS里的代码document.getElementById(i).同样改为document.getElementById("b"+i).
(例如我选过 第一周:星期二 星期四 第三周:星期一 星期六)
得到一个以,分隔的string,然后拆分就可。
得到一个以,分隔的string,然后拆分就可。