我刚来这地方。我正在尝试通过使用隐藏字段并提交表单将 JavaScript 变量存储在会话中:
function populateInput()
{
rowClicked = true;
var key = document.getElementById("key").innerText;
var value = document.getElementById("value").innerText;
document.getElementById("key2").value = key;
document.getElementById("value2").value = value;
var form = document.getElementById("output");
form.submit();
}
这将被调用:
<html>
<tr id="row" onclick="populateInput()"
</html>
对象是从一行中取值,一行包含两列,一个键和一个值(存储在一个HashMap中),传给另一个jsp,这样就可以在两个文本框中显示(一个用于键和一个一个值)通过单击另一个jsp上的一行。
我遇到的麻烦是在scriptlet 中设置属性。我正在获取 td 元素的 innerText,并将其分配给 JavaScript 中的变量,然后将其传递给 HTML DOM 对象的值。
然后我想使用 scriptlet (<%request.setAttribute%>) 将它提交到另一个表单,但是如何?我意识到通过使用 scriptlet,您使用的是 Java 代码,它不是 HTML 属性。
任何帮助将不胜感激。
这是整个表格:
<%if (m != null){%>
<%for (Map.Entry<String, String> e : m.entrySet()){ %>
<tr id="row" onclick="populateInput()">
<td id="key"><%=e.getKey() %></td>
<td id="value"><%=e.getValue() %></td>
</tr>
<%} %>
<%} %>
我想获取 td 元素的 innerText,将它们存储到 vars、key 和 value 中,然后将这些 vars 存储到以下值中:
<input type="hidden" id="key2">
<input type="hidden" id="value2">
我遇到的麻烦是在 scriptlet 中使用 request.setAttribute("", obj) 设置隐藏字段的值,并将它们提交到其他表单。