javascript中隐藏的s:的设置值
我有一个带有HTML输入字段的JSP,如javascript中隐藏的s:的设置值,javascript,struts2,hidden,Javascript,Struts2,Hidden,我有一个带有HTML输入字段的JSP,如“username”。我有一个JavaScript方法,其中我使用'document.getElementById('userId').value'获取此字段的值 现在我有了一个struts2标签: 在我的JavaScript中,在提交之前,我需要设置从输入文本字段到Struts 2隐藏标记字段的值。我不能直接使用输入字段中的文本,我需要将其设置为hidden Struts 2标记 为什么不能直接给隐藏字段赋值 Struts2输入标记最终会在页面呈现时转换
“username”
。我有一个JavaScript方法,其中我使用'document.getElementById('userId').value'获取此字段的值
现在我有了一个struts2标签:
在我的JavaScript中,在提交之前,我需要设置从输入文本字段到Struts 2隐藏标记字段的值。我不能直接使用输入字段中的文本,我需要将其设置为hidden Struts 2标记
<s:textfield id="mytext" value="yourvalue"/>
<s:hidden id="myhidden" value=""/>
function assignvalue(){
document.getElementById("myhidden").value=document.getElementById("mytext").value;
}
函数赋值(){
document.getElementById(“myhidden”).value=document.getElementById(“mytext”).value;
}
Struts2标记只提供一些附加功能,以便更好地与Struts2 flow配合使用。它们就像助手一样,为您提供了一些开箱即用的功能,以便与Struts2密切配合 最后,当浏览器显示JSP时,无论是struts2标记/您的自定义标记还是您正在使用的任何其他标记库,都将转换为浏览器可以理解的纯HTML 所以如果你有一个文本字段,说
<s:textfield name="username" id="username" value=""/>
然后对这些值执行任何您想执行的操作。您可以将文本字段的值设置为“提交”按钮上的隐藏值 让我们举个例子,
首先必须为隐藏字段指定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>
$(文档).ready(函数(){
$(文档)。在('click','s',函数(事件){
event.preventDefault();
var name=“Ram”;
$(“#uname”).val(姓名);
});
});
如果是非常重要的数据,则将其保存到会话或任何其他范围,并直接将其发送到操作。不要将其显示到jsp页面如果您需要在提交之前执行此操作,则说明您做错了什么。这意味着您依赖客户机来保持您在服务器上指定的值——如果有人故意修改它并禁用您的JavaScript怎么办?您必须在服务器上强制执行此操作。隐藏标记实际上与表单变量匹配。因此,在提交到action类时,该变量被设置为表单变量。因此,我只需要通过javascript执行此操作。我还可以设置s:textfield,但我需要知道是否可以在javascript中设置s:hidden值,如果用户在不执行JS的情况下修改它,您将得到修改后的变量,而不是隐藏字段中的变量。我不明白这个问题。@DaveNewton似乎希望根据文本字段中提供的值设置一些隐藏字段。尽管动机不清楚为什么?问题是隐藏变量应该对应于Action类中定义的bean变量。当我使用s:textfield时,complte对齐就失控了。因此,我想提交隐藏变量的值,它应该对应于variableNow的形式。使用上面的方法,我设置了隐藏变量值,但是没有填充bean变量。我已经定义了Name是bean中的变量的位置。但是它不起作用。bean变量仍然是null…请帮助。那么,使用与bean变量相同的隐藏字段名称有什么问题??要解决文本字段的对齐问题,请尝试使用此格式-
此格式如何
document.getElementById("myhidden")
<script type="text/javascript">
$(document).ready(function() {
$(document).on('click', '#s', function(event) {
event.preventDefault();
var name="Ram";
$("#uname").val(name);
});
});
</script>