整个页面的代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<title>WEB PAGE</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css" media="screen">
<script language="JavaScript" type="text/javascript" src="overlib.js"></script>
<script language="JavaScript" type="text/javascript">var rule_count = "3";function del_action_num( num )
{
    with ( document.forms[0] )
    {
        action.value = "delete";
        DelAct.value = num;
        document.forms[0].submit();
    }
}function edt_action_num( num )
{
    with ( document.forms[0] )
    {
        action.value = "edit";
        EdtAct.value = num;
        document.forms[0].submit();
    }
}function apply_action()
{
    with ( document.forms[0] )
    {
        action.value = "Apply";
        
    }    document.forms[0].submit();
}</script>
</head><body>
<br><strong>QoS Engine Rules</strong>
<p>
This page allow you add, edit or delete Qos engine rule.
</p>
<form method="post" action="qos.cgi">
<input type="hidden" name="page" value="qos_rule.asp">
<input type="hidden" name="action" value="">
<input type="hidden" name="DelAct" value="">
<input type="hidden" name="EdtAct" value="">
<input type="hidden" name="ApplyAct" value="">
<table border="1" cellpadding="2" cellspacing="0">
  <tr align="center" class="t_label">
        <td>Enable</td>
    <td>Name</td>
    <td>Priority</td>
    <td>Protocol</td>
    <td>Source IP/Mask</td>
    <td>Source Port</td>
    <td>Destination<br>IP/Mask</td>
        <td>Destination<br>Port</td>
        <td>Upstream<br>Speed</td>
        <td>Downstream<br>Speed</td>
        <td>Edit</td>
        <td>Delete</td>
  </tr>
      <tr align="center">
<td><input name="rule_enable_1" type="checkbox" checked></td>
<td>ruleone</td>
<td>1</td>
<td>udp</td>
<td>192.168.1.3/32</td>
<td>21</td>
<td>0.0.0.0/32</td>
<td>0</td>
<td>bit/s</td>
<td>2Mbit/s</td>
<td><input name="btn_edt" type="button" value="Edit" onClick="edt_action_num(1);"></td>
<td><input name="btn_del" type="button" value="Delete" onClick="del_action_num(1);"></td>
</tr>
<tr align="center">
<td><input name="rule_enable_2" type="checkbox"></td>
<td>ruletwo</td>
<td>2</td>
<td>ip</td>
<td>0.0.0.0/32</td>
<td>0</td>
<td>123.45.6.7/32</td>
<td>34</td>
<td>25kbit/s</td>
<td>25kbit/s</td>
<td><input name="btn_edt" type="button" value="Edit" onClick="edt_action_num(2);"></td>
<td><input name="btn_del" type="button" value="Delete" onClick="del_action_num(2);"></td>
</tr>
<tr align="center">
<td><input name="rule_enable_3" type="checkbox" checked></td>
<td>asdf</td>
<td>3</td>
<td>ip</td>
<td>192.168.1.8/32</td>
<td>3456</td>
<td>0.0.0.0/32</td>
<td>0</td>
<td>3434bit/s</td>
<td>234bit/s</td>
<td><input name="btn_edt" type="button" value="Edit" onClick="edt_action_num(3);"></td>
<td><input name="btn_del" type="button" value="Delete" onClick="del_action_num(3);"></td>
</tr></table>
<br>
<table>
<tr>
       <td width="150">&nbsp;&nbsp;</td>
        <td><input name="btn_add" type="button" value="Add" onClick="parent.Main.location.href='qos_add.asp'">
        &nbsp;&nbsp;<input name="btn_apply" type="button" value="Apply" onClick="apply_action();">
        &nbsp;&nbsp;<input name="btn_reset" type="reset" value="Cancel"></td>
    </tr>
</table>
</form>
<br>
</body>
</html>
在apply_action()函数中我想统计所有的rule_enable_XX(X为1、2、3.....),是‘on’还是不是。然后形成这样的字符串
|1|0|1|1|....|, 赋值给ApplyAct。请问在该网页中我应该如何实现? 谢谢!rule_enable_XX的总数为rule_count,其是一个变量。

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html lang="en">
    <head>
    <title>WEB PAGE</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" type="text/css" href="style.css" media="screen">
    <script language="JavaScript" type="text/javascript" src="overlib.js"></script>
    <script language="JavaScript" type="text/javascript">var rule_count = "3";function del_action_num( num )
    {
        with ( document.forms[0] )
        {
            action.value = "delete";
            DelAct.value = num;
            document.forms[0].submit();
        }
    }function edt_action_num( num )
    {
        with ( document.forms[0] )
        {
            action.value = "edit";
            EdtAct.value = num;
            document.forms[0].submit();
        }
    }function apply_action()
    {
    var a = [];
    var b = document.getElementsByTagName("input");
    for(var i=0;i<b.length;i++){
    if(b[i].type=="checkbox"){
    if(b[i].name.substr(0,12)=="rule_enable_"){
    a.push(b[i].checked?1:0);
    }
    }
    }
    var s = "|" + a.join("|") + "|";
    alert(s);
    /*
        with ( document.forms[0] )
        {
            action.value = "edit";
            ApplyAct.value = s;
            document.forms[0].submit();
        }
    */
    }</script>
    </head><body>
    <br><strong>QoS Engine Rules</strong>
    <p>
    This page allow you add, edit or delete Qos engine rule.
    </p>
    <form method="post" action="qos.cgi">
    <input type="hidden" name="page" value="qos_rule.asp">
    <input type="hidden" name="action" value="">
    <input type="hidden" name="DelAct" value="">
    <input type="hidden" name="EdtAct" value="">
    <input type="hidden" name="ApplyAct" value="">
    <table border="1" cellpadding="2" cellspacing="0">
          <tr align="center" class="t_label">
            <td>Enable</td>
            <td>Name</td>
            <td>Priority</td>
            <td>Protocol</td>
            <td>Source IP/Mask</td>
            <td>Source Port</td>
            <td>Destination<br>IP/Mask</td>
            <td>Destination<br>Port</td>
            <td>Upstream<br>Speed</td>
            <td>Downstream<br>Speed</td>
            <td>Edit</td>
            <td>Delete</td>
          </tr>
          <tr align="center">
    <td><input name="rule_enable_1" type="checkbox" checked></td>
    <td>ruleone</td>
    <td>1</td>
    <td>udp</td>
    <td>192.168.1.3/32</td>
    <td>21</td>
    <td>0.0.0.0/32</td>
    <td>0</td>
    <td>bit/s</td>
    <td>2Mbit/s</td>
    <td><input name="btn_edt" type="button" value="Edit" onClick="edt_action_num(1);"></td>
    <td><input name="btn_del" type="button" value="Delete" onClick="del_action_num(1);"></td>
    </tr>
    <tr align="center">
    <td><input name="rule_enable_2" type="checkbox"></td>
    <td>ruletwo</td>
    <td>2</td>
    <td>ip</td>
    <td>0.0.0.0/32</td>
    <td>0</td>
    <td>123.45.6.7/32</td>
    <td>34</td>
    <td>25kbit/s</td>
    <td>25kbit/s</td>
    <td><input name="btn_edt" type="button" value="Edit" onClick="edt_action_num(2);"></td>
    <td><input name="btn_del" type="button" value="Delete" onClick="del_action_num(2);"></td>
    </tr>
    <tr align="center">
    <td><input name="rule_enable_3" type="checkbox" checked></td>
    <td>asdf</td>
    <td>3</td>
    <td>ip</td>
    <td>192.168.1.8/32</td>
    <td>3456</td>
    <td>0.0.0.0/32</td>
    <td>0</td>
    <td>3434bit/s</td>
    <td>234bit/s</td>
    <td><input name="btn_edt" type="button" value="Edit" onClick="edt_action_num(3);"></td>
    <td><input name="btn_del" type="button" value="Delete" onClick="del_action_num(3);"></td>
    </tr></table>
    <br>
    <table>
        <tr>
              <td width="150">&nbsp;&nbsp;</td>
            <td><input name="btn_add" type="button" value="Add" onClick="parent.Main.location.href='qos_add.asp'">
            &nbsp;&nbsp;<input name="btn_apply" type="button" value="Apply" onClick="apply_action();">
            &nbsp;&nbsp;<input name="btn_reset" type="reset" value="Cancel"></td>
        </tr>
    </table>
    </form>
    <br>
    </body>
    </html>