您的位置:程序门 -> web 开发 -> asp



高手指教!根据类别调用不同函数!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


高手指教!根据类别调用不同函数!
发表于:2008-01-23 15:51:06 楼主
在text1   中输入成绩,在text2中得到对应分数:

因男女生体育考试评分标准不一样,所以通过
html code
<% if rs("sex")="" then %> <td><input type="text" name="text1<%=i%>" id="text1" onkeyup = "sc(this)" size="5" value=<%=rs("pro1re")%>> </td> <td><input type="text" name="text2<%=i%>" id="text2" size="5" value=<%=rs("pro1sc")%>> </td> <%else%> <td><input type="text" name="text1<%=i%>" id="text1" onkeyup = "sc1(this)" size="5" value=<%=rs("pro1re")%>> </td> <td><input type="text" name="text2<%=i%>" id="text2" size="5" value=<%=rs("pro1sc")%>> </td> <%end if %>
来区分是男生还是女生,再调用不同的函数,男生调用sc(),女生调用sc1(),现在问题是男生的在text1   中输入成绩,能在text2中得到对应分数。而女生就不可以!  

代码如下:不完整的
html code
<script language="javascript"> function sc1(obj){ var objs = document.getelementsbyname("text1"); var i; forvar j=0;j<objs.length;j++) { if (objs[j]==obj) { i = j;break; } } var a ; a = document.getelementsbyname("text1")[i].value; if(a <= 338) { document.getelementsbyname("text2")[i].value = 20; } if(a ==339||a == 340||a == 341||a==342) { document.getelementsbyname("text2")[i].value =19; } </script> <script language="javascript"> function sc(obj){ var objs = document.getelementsbyname("text1"); var i; forvar j=0;j<objs.length;j++) { if (objs[j]==obj) { i = j;break; } } var a ; a = document.getelementsbyname("text1")[i].value; if(a <= 350) { document.getelementsbyname("text2")[i].value = 20; } if(a ==351||a == 352||a == 353||a==354) { document.getelementsbyname("text2")[i].value =19; } </script> <body> <br> <% for i=1 to request.form("checkbox").count dim rs dim sql set rs=server.createobject("adodb.recordset") sql="select * from stu where id="&trim(request("checkbox")(i))&"" rs.open sql,db,1,3 %> <form name="form" method="post" action="sava.asp"> <table> <tr > <td >考号</td> <td >项目/成绩/得分</td> </tr> </table> <table > <tr > <td ><input type="text" name="no<%=i%>" size="5" value= <%=rs("no")%>> </td> <td><input type="text" name="pro1<%=i%>" size="5" value=<%=rs("pro1")%>> </td> <% if rs("sex")="" then %> <td><input type="text" name="text1<%=i%>" id="text1" onkeyup = "sc(this)" size="5" value=<%=rs("pro1re")%>> </td> <td><input type="text" name="text2<%=i%>" id="text2" size="5" value=<%=rs("pro1sc")%>> </td> <%else%> <td><input type="text" name="text1<%=i%>" id="text1" onkeyup = "sc1(this)" size="5" value=<%=rs("pro1re")%>> </td> <td><input type="text" name="text2<%=i%>" id="text2" size="5" value=<%=rs("pro1sc")%>> </td> <%end if %> </tr> </table> <% rs.close next %> <div align="center"><br> <input type="submit" name="submit2" value=" 保存数据 "> <input type="reset" name="submit3" value=" 重新输入 " > <br> </div> </form> </body>
发表于:2008-01-23 15:58:181楼 得分:0
asp,html没问题,问题应该在js的scl函数里面
发表于:2008-01-23 16:05:122楼 得分:0
好像没有什么问题
不过可以把sc和sc1放到一个函数里面,加一个参数表示男还是女,下面if   rs("sex")="男"直接写在这个参数里面,html代码部分就不用分男女来写了.
发表于:2008-01-23 16:17:003楼 得分:0
咋写啊!
发表于:2008-01-23 16:55:564楼 得分:0
<html>
<head>
<%
  dim   sex
  if   rs("sex")="男"   then
        sex="m"
  else
        sex="f"
  end   if
%>
<script   type="text/javascript">
        function   $c(grade,gender){
              var   standard=-1;
              switch(gender){
                    case   "m":
                        standard=350;
                    case   "f":
                        standard=338;
              }
              if(grade <=standard)
                        document.getelementbyid("mark").value="20";
              else
                        document.getelementbyid("mark").value="19";
        }
</script>
</head>
<%   for   i=1   to   request.form("checkbox").count
                            dim   rs              
                            dim   sql
                            set   rs=server.createobject("adodb.recordset")
                            sql="select   *   from   stu   where   id="&trim(request("checkbox")(i))&""
                            rs.open   sql,db,1,3
                            %>

<body>
<form   name="form"   method="post"   action="sava.asp">
  <table>    
    <tr   >
                      <td     > 考号 </td>
                      <td     > 项目/成绩/得分 </td>        
  </tr>
  </table>
  <table   >
  <tr>
<td   > <input       type="text"       name="no <%=i%> "       size="5"   value=   <%=rs("no")%> >   </td>                          
<td> <input       type="text"       name="pro1 <%=i%> "       size="5"     value= <%=rs("pro1")%> >   </td>      
<td> <input   type="text"   name="grade"   id="grade"   onblur="$c(this.value,' <%=sex%> ')"   /> </td>
<td> <input   type="text"   name="mark"   id="mark"   /> </td>
</tr>
</table>
<%  
                            rs.close
                            next
    %>

  <div   align="center"> <br>
<input   type="submit"   name="submit2"   value="   保存数据   ">
<input   type="reset"   name="submit3"   value="   重新输入   "   >
  <br>
</div>
</form>
</body>
</html>
发表于:2008-01-23 16:56:535楼 得分:0
html code
<html> <head> <% dim sex if rs("sex")="" then sex="m" else sex="f" end if %> <script type="text/javascript"> function $c(grade,gender){ var standard=-1; switch(gender){ case "m": standard=350; case "f": standard=338; } if(grade<=standard) document.getelementbyid("mark").value="20"; else document.getelementbyid("mark").value="19"; } </script> </head> <% for i=1 to request.form("checkbox").count dim rs dim sql set rs=server.createobject("adodb.recordset") sql="select * from stu where id="&trim(request("checkbox")(i))&"" rs.open sql,db,1,3 %> <body> <form name="form" method="post" action="sava.asp"> <table> <tr > <td >考号</td> <td >项目/成绩/得分</td> </tr> </table> <table > <tr> <td ><input type="text" name="no<%=i%>" size="5" value= <%=rs("no")%>> </td> <td><input type="text" name="pro1<%=i%>" size="5" value=<%=rs("pro1")%>> </td> <td><input type="text" name="grade" id="grade" onblur="$c(this.value,'<%=sex%>')" /></td> <td><input type="text" name="mark" id="mark" /></td> </tr> </table> <% rs.close next %> <div align="center"><br> <input type="submit" name="submit2" value=" 保存数据 "> <input type="reset" name="submit3" value=" 重新输入 " > <br> </div> </form> </body> </html>
发表于:2008-01-23 16:57:576楼 得分:0
有点问题switch   case   加break;


快速检索

最新资讯
热门点击