首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求教多行提交有关问题!

2011-12-27 
求教多行提交问题!!!急各位高手,小弟是初学者,最近一个问题困扰很长时间,解决不了,问题是这样的:我的一个

求教多行提交问题!!!急
各位高手,小弟是初学者,最近一个问题困扰很长时间,解决不了,问题是这样的:
我的一个表单可以从数据库中查询出多行记录,每一行有三个控件:text,select,submit   ,其中text是从数据库中获取的,select是用户下拉选择的。
我现在有两个问题解决不了:
1、如何点击每一行submit,都能从本行获取text、select的内容并传给下一个页面
2、我的select   中的数据为何取不到,总是为NULL呢?
谢谢!

附:源代码
<%@   page   contentType= "text/html;charset=gb2312 "%>
<p> 正在登陆目标数据库并查询数据,请稍候...... </p>
<jsp:useBean   id= "DB_Conn "   scope= "page "   class= "JavaBean.DB_Conn "/>
<jsp:useBean   id= "DB_User "   scope= "page "   class= "JavaBean.DB_User "/>
<%@page   import= "java.sql.ResultSet "%>
<%
DB_Conn.ConnectDestDB();  
ResultSet   dest_rs   =   null;

//sql语句:
String   sql_dest   =   "select   *   from   user_tab_comments   ";
//   执行sql语句:
dest_rs   =   DB_Conn.sm.executeQuery(sql_dest);

%>
<%
DB_Conn.ConnectSourceDB();
ResultSet   sour_rs   =   null;

//sql语句:
String   sql_sour   =   "select   *   from   user_tab_comments   ";
//   执行sql语句:


%>

<script   language= "JavaScript ">

function   setparm(   i)

{      

      var   i;
      var   ls_dest,ls_sour;
      ls_dest   =   document.myform.T[i].value;
      ls_sour   =   document.myform.D[i].value;

      document.myform.action   =   "COMPARE_COLUMN.jsp "   +   "?dest= "   +   ls_dest   +   "&sour= "   +   ls_sour;
      document.myform.submit();

}

</script>


  <form   name= "myform "   id= "myform "   method= "POST "   action= "--WEBBOT-SELF-- "   >

<!--webbot   bot= "SaveResults "   U-File= "fpweb:///_private/form_results.csv "   S-Format= "TEXT/CSV "   S-Label-Fields= "TRUE "   -->


<table   border= "1 "   width= "81% "   id= "table1 ">
<tr>
<td   align= "center ">   </td>
<td   align= "center ">   </td>
<td   align= "center "   colspan= "2 "> 目标数据库 </td>
<td   align= "center "> 源数据库 </td>
<td   align= "center "> 目标-源对照 </td>
<td   align= "center "   rowspan= "2 "> 对照结果查看 </td>
</tr>
<tr>
<td   align= "center ">   </td>
<td   align= "center "> 选择 </td>
<td   align= "center "   width= "23% "> 目标数据库表名称 </td>
<td   align= "center "   width= "16% "> 目标数据库表注释 </td>
<td   align= "center "   width= "30% "> 源数据库表名称 </td>
<td   align= "center "   width= "16% "> 字段对照 </td>
</tr>
<%   String   ls_check_name,ls_text_name,ls_button_name,ls_select_name,ls_col_name;
      String   ls_num;


      int   li_num   =   0;
    while   (dest_rs.next())  
                {  
                    li_num   =   li_num   +   1;
                    ls_num   =   String.valueOf(li_num);  
                    ls_check_name   =   "C "   +   ls_num;
                    ls_text_name   =   "T "   +   ls_num;
                    ls_button_name   =   "B "   +   ls_num;
                    ls_select_name   =   "D "   +   ls_num;
                    ls_col_name   =   "Col "   +   ls_num;
  %>
<tr>
<td   width= "4% "   align= "center "   valign= "bottom "   height= "26 ">
<input   type= "text "   name= "Col "   size= "5 "   value= <%=ls_num%> > </td>
<td   width= "7% "   align= "center "   valign= "bottom "   height= "26 ">
<input   type= "checkbox "   name= "C "   value= "ON "> </td>
<td   align= "center "   width= "23% "   height= "26 ">
<input   type= "text "   name= "T "   size= "20 "   value   =   <%=dest_rs.getString( "TABLE_NAME ")   %>   > </td>
<td   align= "center "   width= "16% "   height= "26 ">   <%=dest_rs.getString( "COMMENTS ")   %>   </td>
<td   align= "center "   width= "30% "   height= "26 ">

<select   size= "1 "   name= "D ">
<%   sour_rs   =   DB_Conn.sm.executeQuery(sql_sour);  
while   (sour_rs.next())   {%>
<option   > <%=sour_rs.getString( "TABLE_NAME ")   %> </option>
                                          <%   }%>
</select> </td>

<td   align= "center "   width= "16% "   height= "26 ">
<input   type= "submit "   name= "B "   value   =   "字段对照 "   onClick   =   "setparm( <%=li_num   %> ) "> </td>  
<td   align= "center "   width= "16% "   height= "26 "> 查看 </td>
</tr>
<%   }%>

</table>
<p>   </p>
<p>   </p>
<p>   </p>
</form>

[解决办法]
如果你会javascript,你可以用javascript做这个事情

如果对javascript不熟,你可以在每行都放一个from
------解决方案--------------------


1,每行一个form,

2,先连接,再查询,把顺序调整一下.
[解决办法]

ls_dest = document.myform.T[i].value;
ls_sour = document.myform.D[i].value;
这一段代码将T[i]和D[i]改成Ti和Di将他们连接起来以后去他们的值,不要取数组的值

热点排行