关于ZAKER 融媒体解决方案 合作 加入

将变量从 Scriptlet 传递到 Javascript.

CocoaChina 10-13

我有这个代码片段 ::

<script type="text/javascript">function gotoa ( ) { <%! public void a ( ) { String temp1; PopulateTextbox obj = new PopulateTextbox ( ) ; temp1 = obj.method ( ) ; request.setAttribute ( "variable", temp1 ) ; } %>var myVar = <%=request.getAttribute ( "variable" ) %>}</script>

我想做的就是在我的 JavaScript 函数 gotoa ( ) 中获取变量 temp1 的值 . 在此特定代码中 , 我收到一个错误无效请求

request.setAttribute ( "variable", temp1 ) ;

我的主要目的是在某个按钮单击事件上调用函数 a ( ) , 以便我的脚本让代码再次运行 , 并在变量 temp1 中传递新值 . 然后将其传递给 gotoa ( ) 作为我的数据网格的源 ( 不在此代码中 ) . 基本上我想在单击某些按钮时刷新网格 . 我做对了吗?请帮忙 . 谢谢 .

最佳答案

如果您需要在 gotoa ( ) 中使用变量 temp1 的值 , 请执行以下操作:

<% String temp1; // Store value in temp1 variable for later use PopulateTextbox obj = new PopulateTextbox ( ) ; temp1 = obj.method ( ) ;%><script>function gotoa ( ) { var temp1Val = document.getElementById ( "hiddenTemp1" ) .value; // put your logic here document.getElementById ( "hiddenTemp1" ) .value = tempVal1;}</script><body><form action="otherPage.jsp"> <!-- use the value of temp1 variable --> <input type="hidden" name="hiddenTemp1" id="hiddenTemp1" value="<%=temp1%>"> <input type="button" onclick="gotoa ( ) " value="GotoA"> <input type="submit" value="Submit New Value"></form></body>

首先 , 您将值分配给变量 temp1. 然后 , 通过使用 scriptlet 使用值为 value = temp1 的 Hidden Input 组件来渲染 JSP. 如果要验证 , 只需查看 " 生成的 HTML 的源 ", 您应该看到与变量相等的被 ?? 隐藏的 input 的值 .

提交表单后 ,Request 中将提供 hiddenTemp1 的值 .

如果您打算更改此隐藏组件的值 , 则可以在该组件中重新设置该值 .

以上内容由"CocoaChina"上传发布 查看原文
相关标签 javascript变量logic

觉得文章不错,微信扫描分享好友

扫码分享