获取jsp页面text值问题。

在index.jsp中include几个同样的test.jsp。test.jsp里面有两个输入框,以及提交按钮。现需提交前判断输入框是否为空,在test.jsp文件用do... 在index.jsp中include几个同样的test.jsp。test.jsp里面有两个输入框,以及提交按钮。现需提交前判断输入框是否为空,在test.jsp文件用document.getElementById获取的值为什么是第一个页面的值。想请问大神要是想获取别的页面怎么操作 展开
 我来答
jiahao_shao
2012-11-09
知道答主
回答量:9
采纳率:0%
帮助的人:6.4万
展开全部
这个include模式显然要改变,你应该是在jsp页面循环生成这些相同输入框和按钮。而你这里说的“第一个页面”有概念错误,你的几个test.jsp include进去之后,就全都变成是index.jsp的内容,不存在所谓的第几个页面的。如果你要用js获取输入框指,那么建议你用jquery,用$("#id")获取,他会是所有匹配元素的数组,而不是像document.getElementById 只能获取第一个匹配的元素。
追问
用jquery怎么实现啊,能给点详细的么?谢谢啊。
追答
$("#xx"), jquery关于dom元素选择都是采用这种样式的写法,$是jquery使用的别名,如果跟其他js框架整合,可能会冲突,这样可以用jQuery("#xx")来代替,不过一般项目应该不会跟其他js框架一起用。
""里面的是jquery语法支持的选择dom元素使用的表达式,#xx意思是id为xx的所有dom元素的集合。
$("#xx")获取到的是一个dom元素数组,比如
var yy = $("#xx");
if(yy.length > 0){ //for循环,使用yy[i] 来获取dom元素 }
$(yy[i])将dom元素转换成jquery对象,以使用jquery的其他api.

楼主先可先了解一下jquery的基本用法,这个比较难解释的清楚,基本上用几下就差不多可以了。
小无三2034
2012-11-08
知道答主
回答量:35
采纳率:0%
帮助的人:9.8万
展开全部
document.getElementById()只能获取相同id值得第一个,而document.getElementByName()是你所要操作的方法,用数组实现的
更多追问追答
追问
这样啊,我今天试了getElementByName出错了。
追答
document.getElementByName()[0].value你试试,一定好用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuerong808
2012-11-10
知道答主
回答量:26
采纳率:0%
帮助的人:1.7万
展开全部
id是惟一的,只能返回一个对象,你现在用的是include相当于是一个页面,里面会有几个text使用同一个id,所以返回时,返回的是找的第一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
问遍天下神州
2012-11-09 · TA获得超过356个赞
知道答主
回答量:163
采纳率:0%
帮助的人:89.1万
展开全部
最后是把id改为唯一的。不然的话,就像一楼的仁兄说说,用document.getElementsByName,判断空就在js里写if(document.getElementsByName[i].value == ""){return;}就ok了。
追问
document.getElementsByName[i].value  提示对象不支持此属性或方法。用的是input type=text
追答

不好意思。之前那个想错了。其实,如果你想要得到相同id的值,有一个办法是可行的,就是他们的name属性也是相同的。而那个document.getElementsByName(name)[i].value,括号里的name便是name属性的值,如果你不想这样的话,那么没办法了。只能是让id不同。想办法改一下id,可以让id做递增处理,比如第一个页面的id可以是id1,第二个可以是id2,那么在js里就可以用一个循环把id的值拿出来了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式