Javascript 将全局变量用作操作绑定方法的参数
由于我既不是javascript专家,也不是jsf专家,我询问是否可以定义一个全局变量,然后将其作为一个动作绑定方法的参数传递。 举个例子也许更清楚…:) 在我的xhtml代码中,应该是这样的:Javascript 将全局变量用作操作绑定方法的参数,javascript,jsf-2,Javascript,Jsf 2,由于我既不是javascript专家,也不是jsf专家,我询问是否可以定义一个全局变量,然后将其作为一个动作绑定方法的参数传递。 举个例子也许更清楚…:) 在我的xhtml代码中,应该是这样的: ... <script type="text/javascript"> var isEdit = "false"; //<![CDATA[ function editSelected(selBox, inputFiled) { var htmls
...
<script type="text/javascript">
var isEdit = "false";
//<![CDATA[
function editSelected(selBox, inputFiled)
{
var htmlstring = selBox.options[selBox.selectedIndex].text;
inputFiled.value = htmlstring;
isEdit = "true";
}
//]]>
</script>
...
<h:commandLink
styleClass="waiButton"
value="#{lakshmiMsg.commonButtonAdd}"
action="#{detailController.addCreator(**isEdit**)}"
rendered="#{detailModel.mode != detailModel.viewMode}">
</h:commandLink>
...
。。。
var isEdit=“false”;
//
...
...
这样的事情可能吗?
如果没有,还有其他方法吗?让JavaScript更新隐藏的表单字段可能会更好地处理类似的问题。commandLink上的操作在服务器上计算,而JavaScript中的函数在浏览器中运行
使用隐藏的表单字段,您可以在addCreator方法中检查它(不是作为参数,而是从请求中检查),以查看您是否处于编辑模式。您可以通过JS更改隐藏的输入字段。例如
<h:inputHidden id="edit" value="#{bean.edit}" />
另一种方法是,不要在JS中执行editSelected()
作业,而是使用
magic在纯JSF中执行该作业。由于代码不完整且没有足够的自文档化,因此这方面的功能需求不明确,因此我不能给出一个启动示例
document.getElementById("form:edit").value = isEdit;