现在的位置: 首页 > 综合 > 正文

超链接标签通过js\jquery值传递解决方案

今天遇到一个值传递问题:

需求:是在一个jsp页面中有多个a标签,例如<a onclick="csv(1)" id="aid1"  href="javascript:void(0)" target="_blank">输出CSV文件</a>

一个标签a分别对应一个文本框,

例如:    <input class="Wdate" type="text" id="start1" onfocus="WdatePicker({maxDate:'#F{$dp.$D(\'end1\')}',position:{left:0,top:10},maxDate:'%y-%M-%d'})"/>

问题是,如何将对应文本框中的值,通过a标签以属性(start)的形式传递到后台数据库呢?

刚开始纠结了好半天,利用jquery或者js都可以轻松的访问并得到对应文本框中的值,那么如何与超链接(a标签)相关联呢?

通过思考解决方案如下:

第一步:我们知道javaScript中也有直接访问controller(控制层)或者servlet或action层中的方法:

.href = "threadReplys?file=daily_message_details.csv&start="+startval+"&end="+endval;

因此,我们此时应该把jsp中的普通代码与java脚本联系在一起。

第二步:组织代码,分别得到对应文本框中的值,并得到对应的a标签,

  源码:

<script type="text/javascript">
 
   function csv(f){ //f代表传过来的编号,如第一个a标签的id=“aid1”,第二个是a标签的id=“aid2”,同理对应文本框也是
	  var startval=$("#start"+f).val();//start是对应文本框中的id+编号(aid1,aid2)
	  var endval=$("#end"+f).val();
	  var a = document.getElementById("aid"+f);
	  a.href = "threadReplys?file=daily_message_details.csv&start="+startval+"&end="+endval;
	}

</script> 

其中,threadReplys是我们要访问的路径,file、start、end,是我们要传递的值对应的属性,并在控制台通过

      starttime = request.getParameter("start");
      endtime = request.getParameter("end");

等方法来获得对应的jsp中文本框中的值,接下来就是通过传过来的孩子对数据库进行具体业务操作了,我在此不再阐述!!!

在此分享资源,让更多人少走弯路!!

抱歉!评论已关闭.