查询字符串HTML表单的参数列表

查询字符串HTML表单的参数列表,html,forms,Html,Forms,这可能吗?您可以将name=“id[]”设置为一个数组,但除此之外,我认为不可能按您的要求执行。除非是数组,否则表单字段应具有唯一的值。与逗号分隔的值不完全相同,但您可以获得所有选中复选框的值数组,如下所示 /test/compare?id=val1,val2 编辑: 另一个使用JAVASCRIPT的解决方案 // here you'l get array of id in $_GET and process according to your need $ids=$_GET['id'];

这可能吗?

您可以将
name=“id[]”
设置为一个数组,但除此之外,我认为不可能按您的要求执行。除非是数组,否则表单字段应具有唯一的值。

与逗号分隔的值不完全相同,但您可以获得所有选中复选框的值数组,如下所示

/test/compare?id=val1,val2
编辑:

另一个使用JAVASCRIPT的解决方案

// here you'l get array of id in $_GET and process according to your need
$ids=$_GET['id'];

$str=implode(",",$ids);  //array to comma separated values

echo $str;   //output will be checked checkbox values--> val1,val2

val1
val2
$(文档).ready(函数(){ $(“form[name=input]”)。提交(function(){//bind onSubmit处理程序在页面上就绪 //获取所有字段值 var query=“id=”;//在此处写入参数名称 $(“form[name=input][name=id]:选中”)。每个(函数(i){//它将检查表单中名为“id”的所有元素 query+=$(this.val()+“,”; }); query=query.slice(0,-1);//删除最后一个额外的逗号 //通过将“query”作为GET参数传递来重定向url window.location=$(this.attr(“操作”)+“?”+查询; 返回false; }); });
生成的url如下:/test/compare?id%5B%5D=val1&id%5B%5D=val2Right——它可以用作处理表单时使用的任何语言的数组。查看下面PHP示例的答案。查看我对jacobroufa回答的评论,URL不重要,您可以尝试
$\u GET['id']
您将获得所需的输出。我已经测试过代码:)我从来没有使用过PHP,所以我不明白这段代码去哪里了?我可以像javascript一样在html中嵌入它吗?是的,你也可以有javascript解决方案。给我一点时间。我会更新我的答案太棒了!列表末尾的悬空有问题。我在重定向之前添加了query=query.slice(0,-1)。
<form name="input" action="/test/compare" method="get">
    <input type="checkbox" name="id[]" value="val1">val1<br/>
    <input type="checkbox" name="id[]" value="val2">val2<br/>
    <input type="submit" value="Submit">
</form>    
// here you'l get array of id in $_GET and process according to your need
$ids=$_GET['id'];

$str=implode(",",$ids);  //array to comma separated values

echo $str;   //output will be checked checkbox values--> val1,val2
<form name="input" action="/test/compare" method="get">
    <input type="checkbox" name="id" value="val1">val1<br/>
    <input type="checkbox" name="id" value="val2">val2<br/>
    <input type="submit" value="Submit">
</form>  
 <!-- load jQuery -->
 <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"> </script> 
 <script type="text/javascript">
     $(document).ready(function(){
          $("form[name=input]").submit(function(){   //bind onSubmit handler on page ready
              //get all field values
              var query="id="; //write here parameter name
              $("form[name=input] [name=id]:checked").each(function(i){ //it will check for all elements inside form with name "id"
                   query+=$(this).val()+",";
              });

              query=query.slice(0,-1); //remove last extra comma
              //redirect url by passing "query" as GET parameter
              window.location=$(this).attr("action")+"?"+query;
              return false;
          });
     });
 </script>