设为首页 - 加入收藏 站长在线 - 常用服务器软件 - 在线站长工具 - 在线伪原创工具
您的当前位置:主页 > 网络教程 > JSP教程 > 正文

JSP可以获取网页的元素的id吗?

来源:ZzWww 编辑:ZzWww 时间:2013-03-24

满意答案

看你是想让 按钮做 “传递参数动作”呢 还是让按钮“传递参数值”?这个问题很重要

如果是做传递动作的话就没必要获取ID值了,如果想传递参数,那获取值可以用以下方式

(我看了下你的按钮明显有问题吧,我做下修改)

<input type="submit" id="0" value="删除"/>

<input type="submit" value="删除"/>

 

1、根据名字获取ID

     var id0 = window.document.getElementsByName('del0');

      var id1 = window.document.getElementsByName('del1');

 

2、反过来也可以是根据ID获取名字

      var name0 = window.document.getElementById('0');

      var name1= window.document.getElementById('1');

 

3、可以加入jquery等JS控件,可以很好的得到你想要的数据,具体jquery可以上百度找找

追问:

不是这个意思呃,是这个问题:

因为这个按钮处理的页面是一个jsp页面,就是说它会接受到之前html提交的请求,但是这些请求的个数是不确定的,因此我采用了循环来添加按钮:

<%

String[] strList = request.getParameterValues("checkBox"); //第一个页面采用了checkbox,获取一串值

for(int i = 0; i < strList.length; ++i) {%>

     <input type="submit" value="删除"/>

<% } %>

这种情况下,我想使用"del"来获取参数,但是value都一样,唯一的差别仅仅是id,所以我就使用了事件id:event.target.id。

我的目标就是使用按钮将特定消息传递给下一个页面,只要能标记这个按钮就行。我同学采用的方法是直接window.location = "next.jsp?id=" + event.target.id;

但是这个方法需要get提交,而且可以被用户修改i,如果采用post方法提交就不行了呃…

 

回答:

简易使用jquery,你的问题就好办了

先遍历当前页面 input存在多少个

var iputLength = $("input[name='del']").length

然后遍历读取ID值,其实我倒觉得这做法不恰当,我一会给你想个好点的方法,你最好说说你具体要实现什么

追问:

呃,谢谢大侠哈~我想做的就是amazon的购物车,我没看明白那玩意儿咋实现的~

在Amazon购物的时候,看到喜欢的商品就可以放入购物车或收藏夹。但是当你在购物车中结算的时候,如果发现商品不需要或者不打算立刻购买,就可以从购物车移动到收藏夹,同样也可以将商品从收藏夹移动到购物车。当你认为某个商品不需要了,可以点击删除按钮从列表中删除。

收藏夹和购物车之间的移动,删除商品,都是通过按钮的响应完成的呃~

回答:

你早说是购物车嘛,购物车是最常见的商务平台功能点了,其实购物车也不见得那么难。

简单的原理:记录用户ID值、商品ID值集合(这个集合可以随意增加减少),然后就是提交订单生成订单号。

 

其实你原先写的

<input type="submit" id="0" value="删除"/>

<input type="submit" value="删除"/>

很不合理的。不应该那么做。

 

如果购物车是需要记录下来的话,等下次登陆还能看到购物车里的物品,这就需要建一张表专门存储购物车内容的表,里面只记录购物车ID、商品ID、用户ID,当用户点购物车是就去遍历这些商品ID

至于那删除按钮,你更没必要把值存在ID里了,直接在input建个shangpinID属性 取值的时候直接取属性shangpinID

  <input type="submit" shangpinID="<%= i %>"

      value="删除"/>

 

其实,商品ID值没必要保密的,只要按钮能获取这值就行.

 

追问:

= =|

我的问题第一行就是说购物车的问题…

 

这里的问题就是说不用JS,要用JSP才复杂嘛!JSP不能直接操纵按钮,那就只能用JS来做,但是JS的话,del(this.shangpinID),你在网页里面删除了,你还得同步数据库啊,同步数据库的话就要用JSP不?但现在的问题是,怎么把这个JS消息传递给JSP呃~

回答: ajax会用吗,js传值还不是手到擒来,我自己的做一个官网全HTML+JS后台java做的传值根本不是问题,效果比jsp好的不知哪里去了,值都存在js变量里,要获取值没有通过验证根本获取不了这就很好保密了数据 补充:

现在很多网站都用静态页面去实现了,他的访问速度快,而且效率要高于JSP 跟ASP

而且跟用户的交互性更好不用页面跳来跳去的,看的人眼花。JSP购物车的话就需要循环遍历取值了

你把值放在ID上是十分不合理的,建议令建一个属性,通过判断新建的属性值来确定该按钮ID值

追问:

呃,我还是刚学网页制作额~

我现在做网页做的特无奈的说,摊上一个垃圾老师不说,还被她天天催缴作业,我用JS验证输入被她打B,我问为什么,她说我做的东西与她布置的无关…意思就是非得要用JSP做。

JSP的话,我也做的到处都是乱码,同一个页面里面一部分数据是UTF-8的,另外一部分却是GB2312…无论怎么都解决不了。我现在要解决的这个问题更郁闷:火狐有效,IE无效。IE9还直接就无法访问了都,这个就是我正在纠结的网页 :8080/cart/index.jsp

回答: 加我QQ吧,有空帮你指点指点147030092 追问:

需要验证问题呃~

回答: 输入 施元杰

+1 已赞过

提问者 的感言: 谢谢~ 2010-12-02

满意答案

  • vampire (初级团)
  • 采纳率:18.2%被采纳答案:0
  • 宣言:能有团队不错了.
  • 标签:

    向该团求助

    vampire

    其实很简单

    第一个方法用A标签不用submit按钮

    href里面写你form要提交到的地址然后后面跟?的形式将参数传递过去

    比如

    <a href="delete.jsp?goodsId=0">删除</a>

    <a href="delete.jsp?goodsId=1">删除</a>

    这样你在delete.jsp页面中通过request.getParameter("goodsId");就能获取被点击的超链接的goodsId的值

     

    第二种用button

    不采用submit按钮而是用button

    然后在onclick中写一个js方法

    比如


    TAG标签:腾讯 问答系统 提问 回答 知识搜索 问问 搜搜 JSP可以

    网友评论:

    文章右边250
    Top