我有一个带有HTML输入字段的JSP,如"username"
。我有一个JavaScript方法,我使用`document.getElementById('userId')获得该字段的值。值。
现在我有一个struts2标签:<s:hidden name="username" />
在我的JavaScript中,在提交之前,我需要将输入文本字段中的值设置为Struts 2隐藏标记字段。我无法直接从输入字段使用文本,我需要将其设置为隐藏的Struts 2标记。
答案 0 :(得分:1)
Struts2输入标签最终在页面渲染时转换为普通的HTML标签,因此您无需为它们分配值。只需提及隐藏元素的id,并使用像往常一样的javascript分配值
<s:textfield id="mytext" value="yourvalue"/>
<s:hidden id="myhidden" value=""/>
function assignvalue(){
document.getElementById("myhidden").value=document.getElementById("mytext").value;
}
答案 1 :(得分:1)
首先,您必须为隐藏字段提供ID,然后您可以使用jquery或javascript设置它。
以下是使用jquery
设置它的示例这是你的表格
这将从jquery设置用户名;
<script type="text/javascript">
$(document).ready(function() {
$(document).on('click', '#s', function(event) {
event.preventDefault();
var name="Ram";
$("#uname").val(name);
});
});
</script>
如果它是非常重要的数据,那么将其保存到会话或任何其他范围并直接将其设置为不显示给jsp页面
答案 2 :(得分:0)
Struts2标记只提供了一些额外的功能,可以更好地使用Struts2流程。它们就像帮助程序一样,为您提供了与struts2密切配合的开箱即用功能。
最后,当您的JSP将由浏览器显示时,struts2标签/您的自定义标签或您正在使用的任何其他标签库将被转换为浏览器可以理解的纯HTML。
所以如果你有一个文字字段说
<s:textfield name="username" id="username" value=""/>
它将在最终显示时转换为HTML,如
<input type="text" name="username" id="username" value="">
请注意,如果您不为文本字段提供id
,struts2会在将标记代码转换为最终HTML时自行生成ID,因此如果您希望textfield / any字段的自定义ID为其提供明确。
所以你有办法使用着名的javascript方式
document.getElementById("myhidden")
并做任何你想做的事情。
答案 3 :(得分:0)
您可以在提交按钮上将文本字段的值设置为隐藏值。
让我们举个例子,
<script type="text/javascript>
function setHiddenValue(){
document.getElementById('hiddenfield').value = document.getElementById('textfield');
}
</script>
<s:hidden name="hiddenfield" id="hiddenfield" />
<s:textfield name="textfield" id="textfield" />
<input type="submit" onclick="setHiddenValue();" />