问题是这样的,学校有个空教室查询程序,我要引用其功能,表单界面代码如下:
<form action = "query.php" method = "get">
<input type="checkbox" name="teachingbuilding" value ="1" >教1
<input type="checkbox" name="teachingbuilding" value ="2">教2
<input type="checkbox" name="teachingbuilding" value ="3">教3
<input type="checkbox" name="teachingbuilding" value ="4">教4<br />
<input type="checkbox" name="floor" value ="1">一楼
<input type="checkbox" name="floor" value ="2">二楼
<input type="checkbox" name="floor" value ="3">三楼
<input type="checkbox" name="floor" value ="4">四楼
<input type="checkbox" name="floor" value ="5">五楼<br />
<input type="checkbox" name="weekday" value ="1">周一
<input type="checkbox" name="weekday" value ="2">周二
<input type="checkbox" name="weekday" value ="3">周三
<input type="checkbox" name="weekday" value ="4">周四
<input type="checkbox" name="weekday" value ="5">周五<br />
<input type="checkbox" name="classtime" value ="1">第一大节
<input type="checkbox" name="classtime" value ="2">第二大节
<input type="checkbox" name="classtime" value ="3">第三大节
<input type="checkbox" name="classtime" value ="4">第四大节
<input type="checkbox" name="classtime" value ="5">第五大节<br /><input type="submit" value="提交">
</form>这是用get方法提交的,但是,当name值相同的框如floor被选择多个的话,就会已这样的形式递交query.php?floor=1&floor=2,这样的话,实际执行的是query.php?floor=2  而这个floor=1则被忽略了,正确的格式应该是这样的:
同name的传递多个值query.php?floor=1,2,3  即值按照从小到大的顺序,每个值已逗号隔开
如,效果这样query.php?teachingbuilding=1,2,3&floor=1,2&weekday=1,2,3,4&classtime=1,2
我想可以用js加个onSubmit来做,但不知道怎么做,求解答
或者也可以不用js,但请给个思路
ps:php文件不能改源码,所以只能改传递的参数

解决方案 »

  1.   

    把floor名字改掉,并添加一个<input type="hidden" name="floor"/>,
    onsubmit里将所有值,用分号连接赋值给隐藏域
      

  2.   


    <script>
    function getValue(name)
    {
    var floors=document.getElementsByName(name);
    var floor='';
    for(var i=0;i<floors.length;i++)
    {
    floor+=floors[i].value;
    if(i!=floors.length-1)
    {
    floor+=',';
    }
    }
    return floor;
    }function submit1()
    {
    var action = 'query.php?floor='+getValue('floor');
    alert(action);
    document.forms[0].action=action;
    document.forms[0].submit();
    }
    </script>
    <body>
    <form method = "get">
    <input type="checkbox" name="teachingbuilding" value ="1" >教1
    <input type="checkbox" name="teachingbuilding" value ="2">教2
    <input type="checkbox" name="teachingbuilding" value ="3">教3
    <input type="checkbox" name="teachingbuilding" value ="4">教4<br />
    <input type="checkbox" name="floor" value ="1">一楼
    <input type="checkbox" name="floor" value ="2">二楼
    <input type="checkbox" name="floor" value ="3">三楼
    <input type="checkbox" name="floor" value ="4">四楼
    <input type="checkbox" name="floor" value ="5">五楼<br />
    <input type="checkbox" name="weekday" value ="1">周一
    <input type="checkbox" name="weekday" value ="2">周二
    <input type="checkbox" name="weekday" value ="3">周三
    <input type="checkbox" name="weekday" value ="4">周四
    <input type="checkbox" name="weekday" value ="5">周五<br />
    <input type="checkbox" name="classtime" value ="1">第一大节
    <input type="checkbox" name="classtime" value ="2">第二大节
    <input type="checkbox" name="classtime" value ="3">第三大节
    <input type="checkbox" name="classtime" value ="4">第四大节
    <input type="checkbox" name="classtime" value ="5">第五大节<br />
    <input type='button' onclick="submit1()" value="提交">
    </form>
    </body>
      

  3.   


    晕,不行啊,参数还是以query.php?floor=1&floor=2&floor=3&floor=4&floor=5这样的方式递交的
    应该是这样的query.php?floor=1,2,3,4,5
      

  4.   

    <form action = "query.php" method = "get">
    <input type="checkbox" name="teachingbuilding[]" value ="1" >教1
    <input type="checkbox" name="teachingbuilding[]" value ="2">教2
    <input type="checkbox" name="teachingbuilding[]" value ="3">教3
    <input type="checkbox" name="teachingbuilding[]" value ="4">教4<br />
    <input type="checkbox" name="floor[]" value ="1">一楼
    <input type="checkbox" name="floor[]" value ="2">二楼
    <input type="checkbox" name="floor[]" value ="3">三楼
    <input type="checkbox" name="floor[]" value ="4">四楼
    <input type="checkbox" name="floor[]" value ="5">五楼<br />
    <input type="checkbox" name="weekday[]" value ="1">周一
    <input type="checkbox" name="weekday[]" value ="2">周二
    <input type="checkbox" name="weekday[]" value ="3">周三
    <input type="checkbox" name="weekday[]" value ="4">周四
    <input type="checkbox" name="weekday[]" value ="5">周五<br />
    <input type="checkbox" name="classtime[]" value ="1">第一大节
    <input type="checkbox" name="classtime[]" value ="2">第二大节
    <input type="checkbox" name="classtime[]" value ="3">第三大节
    <input type="checkbox" name="classtime[]" value ="4">第四大节
    <input type="checkbox" name="classtime[]" value ="5">第五大节<br /><input type="submit" value="提交">
    </form>query.php:
    <?php
    print_r($_GET['floor']);
    //print_r($_POST['floor']);
    ?>用数组varname[]
      

  5.   

    <script>
    function getValue(name)
    {
        var floors=document.getElementsByName(name);
        var floor='';
        for(var i=0;i<floors.length;i++)
        {
        if(floors[i].checked)
    {
    floor+=floors[i].value;

    floor+=',';

    }
        }
        return floor.substr(0,floor.length-1);
    }function submit1()
    {
        var action = 'query.php?floor='+getValue('floor')+"&weekday="+getValue('weekday');
        alert(action);
        document.forms[0].action=action;
        document.forms[0].submit();
    }
    </script>
    <body>
    <form method = "get">
    <input type="checkbox" name="teachingbuilding" value ="1" >教1
    <input type="checkbox" name="teachingbuilding" value ="2">教2
    <input type="checkbox" name="teachingbuilding" value ="3">教3
    <input type="checkbox" name="teachingbuilding" value ="4">教4<br />
    <input type="checkbox" name="floor" value ="1">一楼
    <input type="checkbox" name="floor" value ="2">二楼
    <input type="checkbox" name="floor" value ="3">三楼
    <input type="checkbox" name="floor" value ="4">四楼
    <input type="checkbox" name="floor" value ="5">五楼<br />
    <input type="checkbox" name="weekday" value ="1">周一
    <input type="checkbox" name="weekday" value ="2">周二
    <input type="checkbox" name="weekday" value ="3">周三
    <input type="checkbox" name="weekday" value ="4">周四
    <input type="checkbox" name="weekday" value ="5">周五<br />
    <input type="checkbox" name="classtime" value ="1">第一大节
    <input type="checkbox" name="classtime" value ="2">第二大节
    <input type="checkbox" name="classtime" value ="3">第三大节
    <input type="checkbox" name="classtime" value ="4">第四大节
    <input type="checkbox" name="classtime" value ="5">第五大节<br />
    <input type='button' onclick="submit1()" value="提交">
    </form>
    </body>
      

  6.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>标签</title>
    <script src="jquery-1.3.2.js"></script>
    <script>
    $(document).ready(function(){
    $("#btn").click(function(){
    var i = 0;
    var teachingbuilding_value ="teachingbuilding=";
    $("input[name=teachingbuilding]:checked").each(function(){
     i++;
     if(i==$("input[name=teachingbuilding]:checked").length){
       teachingbuilding_value += $(this).val();
     }else{
       teachingbuilding_value += $(this).val()+",";
     }
    });
    var floor_value ="floor=";
    var j =0;
    $("input[name=floor]:checked").each(function(){
     j++;
     if(j==$("input[name=floor]:checked").length){
       floor_value += $(this).val();
     }else{
       floor_value += $(this).val()+",";
     }
    });
    var k =0;
    var weekday_value ="weekday=";
    $("input[name=weekday]:checked").each(function(){
     k++;
     if(k==$("input[name=weekday]:checked").length){
       weekday_value += $(this).val();
     }else{
       weekday_value += $(this).val()+",";
     }
    });
    var n = 0
    var classtime_value ="classtime=";
    $("input[name=classtime]:checked").each(function(){
     n++;
     if(n==$("input[name=classtime]:checked").length){
       classtime_value += $(this).val();
     }else{
       classtime_value += $(this).val()+",";
     }
    });
    var action = "query.php?" + teachingbuilding_value + "&" + floor_value + "&" +weekday_value + "&" + classtime_value;
    alert(action)
    //$(this).parent("form").action = action;
    document.forms[0].action = action;
    });
    });
    </script>
    </head><body>
    <form method = "get" action="">
    <input type="checkbox" name="teachingbuilding" value ="1" >教1
    <input type="checkbox" name="teachingbuilding" value ="2">教2
    <input type="checkbox" name="teachingbuilding" value ="3">教3
    <input type="checkbox" name="teachingbuilding" value ="4">教4<br />
    <input type="checkbox" name="floor" value ="1">一楼
    <input type="checkbox" name="floor" value ="2">二楼
    <input type="checkbox" name="floor" value ="3">三楼
    <input type="checkbox" name="floor" value ="4">四楼
    <input type="checkbox" name="floor" value ="5">五楼<br />
    <input type="checkbox" name="weekday" value ="1">周一
    <input type="checkbox" name="weekday" value ="2">周二
    <input type="checkbox" name="weekday" value ="3">周三
    <input type="checkbox" name="weekday" value ="4">周四
    <input type="checkbox" name="weekday" value ="5">周五<br />
    <input type="checkbox" name="classtime" value ="1">第一大节
    <input type="checkbox" name="classtime" value ="2">第二大节
    <input type="checkbox" name="classtime" value ="3">第三大节
    <input type="checkbox" name="classtime" value ="4">第四大节
    <input type="checkbox" name="classtime" value ="5">第五大节<br />
    <input type='button' id="btn" onclick="#" value="提交">
    </form>
    </body>
    </html>
      

  7.   

    我又重新试了一下,我在2#写的没有问题。
    你在用的时候有断章取义的嫌疑这段代码你加上了吗?
    <input type='button' onclick="submit1()" value="提交">
    不会还有的是<input type="submit" value="提交">吧?