gpt4 book ai didi

java - InnerHTML 没有给 servlet 带来值(value)

转载 作者:行者123 更新时间:2023-12-01 14:04:44 25 4
gpt4 key购买 nike

cell = this.getElementsByTagName("td")[3];
uname = cell.innerHTML;

我通过innerHTML获取特定单元格的值并将该值传递给Servlet

xmlhttp.open("POST","UserServlet",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("uname="+uname);

在 Servlet 中

uname = request.getParameter("uname");
out.print(uname);
System.out.println(uname);

我在控制台中得到“未定义”......有没有办法获取值并将其传递给 servlet我尝试了 .innerHTML、.innerText、.value 没有任何效果,我也在数组中尝试过......但没有任何效果......提前帮助我谢谢......

最佳答案

请引用https://stackoverflow.com/a/15312976/1031191 。这意味着您的 xmlhttp 代码没有问题。尝试在浏览器中使用 JavaScript 控制台来验证 uname 是一个字符串并且包含正确的数据。

收到“undefined”意味着uname的值在客户端恰好是“undefined”。请参阅 getParameter 的引用:http://docs.oracle.com/javaee/1.3/api/javax/servlet/ServletRequest.html 。它表示您必须接收 String 或 null。 (因此,在您的情况下,由于某种原因, xmlhttp.send() 的参数是“uname=undefined”。)

更新 2:

可能您需要 document.getElementsByTagName('td')[3] 而不是“this”。
但是,嘿,如果您无论如何都使用 jQuery,为什么不编写 $('td').get(3) 而不是 getElementsByTagName?

更新 3:

我认为您的 html 中的 td 元素少于 4 个。请注意,JavaScript 数组是从 0 开始索引的。如果您不小心尝试访问数组中超出范围的索引,您会收到“未定义”消息。

关于java - InnerHTML 没有给 servlet 带来值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com