菜鸟的第一篇文章,今天在工作中遇到一个问题。下面来说说,也许很多大神都知道了,但作为菜鸟还是想说说。
对于table表格里面的数据,如下:
<pre name="code" class="html"> <table>
<tr>
<td>ID</td> <td>姓名</td> <td>年龄</td> <td>地址</td><td>操作</td>
</tr>
<tr>
<td>1</td> <td>小明</td> <td>26</td> <td>美国</td><td><a href="#" οnclick="javascript:down();">下载</a></td>
</tr>
<tr>
<td>1</td> <td>小花</td> <td>26</td> <td>日本</td><td><a href="#" οnclick="javascript:down();">下载</a></td>
</tr>
<tr>
<td>1</td> <td>二妮</td> <td>24</td> <td>中国</td><td><a href="#" οnclick="javascript:down();">下载</a></td>
</tr>
</table>
假如我们需要得到用户的id,然后和数据库进行交互,我们怎么把值传到后台?我们都知道,传值有两种方法:第一种是发送ajax,第二章就是我们的传统的方法即提交form表单。显然我们会很快想到第一种,即点击那一列得到id,发送ajax请求,这样的确可以做出来,但是,假如我们发送请求是要得到数据库里面的某个连接地址而提供下载,那么我们就不能发送ajax请求(因为ajax请求不能提供下载,好像会出错),那么,我们就剩一个办法,即form提交表单,那么我们如何用form提交表单呢?显然form里面不能放入table标签。其实我们可以用一种曲折的办法,我们在jsp中写一个form表单,然后当我们点击table得到Id时,就把这个id放入form里面,然后在提交表单,这样就可以解决问题了:
<form action="" method="post" id="down">
<input name="id" id="id">
</form>
这里要注意一点:input里面的name的值要与传进来的数据其所在数据库对应的字段相同。
然后我们可以在js里面写一段代码把form里面的值传出去
<script type="text/javascript">
function down(){
document.getElementById("id").value()=("点击table得到的Id")
document.getElemetById("down").submit();
}
</script>
这样我们就完成了值传递。