html代码:
<form id="form1" name="form1" method="post" action="/portal/gbmy/cherry_test.main">
  <p>
    <input name="f_select" type="checkbox" id="f_select" value="1" />
    A
    <input name="f_select" type="checkbox" id="f_select" value="2" />
    B
    <input name="f_select" type="checkbox" id="f_select" value="3" />
    C
    <input name="f_select" type="checkbox" id="f_select" value="4" />
    D
  </p>
  <p>&nbsp;</p>
  <p>
    <input type="submit" name="Submit" value="提交" />
    
    
  </p>
</form>
提交后, 我想知道复选框的结果, 怎么做?我现在写的只能提交一个结果create or replace package body cherry_test isprocedure main(
  submit       varchar2 default null,
 f_select number default null
         
  ) is
  
  beginhtp.print('test');
htp.print(f_select);
  end main;
end cherry_test;

解决方案 »

  1.   

    一般这样上传过来的应该是一个数组, 就是checked=true的所有数据
      

  2.   

    type varchar2_table is table of varchar2(200) index by pls_integer;f_select varchar2_table这是数组,循环取
      

  3.   


    那得到的数组我怎么对应呢?
    这边网页提交的其实是一个过程package, 能传递数组吗?
      

  4.   

    不可以, html文件提交的时候只能提交一个值的数据
      

  5.   

    不是的。html的控件,如果多个名字一样的,form提交时就是一个数组。checkbox有一点特殊,它是选中的才提交,当一个也不选时,它提交的是一个空数组,这时要处理一下,不然报错。我的做法是定义一个初始化的数组作为默认值。
    你可以把form改为get方式,f_select的形式是f_select=1&f_select=2&f_select=3....这样的
    还有,你的f_select的id不要设置成一样的,不想处理的话就不要写了