【问题标题】:passing a javascript value to form on submit of jsf button在提交 jsf 按钮时将 javascript 值传递给表单
【发布时间】:2012-02-17 17:54:07
【问题描述】:

我正在尝试从 javascript 方法访问 javascript 变量值,并在提交时访问 jsf 支持 bean 值和访问控制器?感谢您的时间

 function formValue(){
    var e = document.getElementById("formid:dropdownlist1id");
    var val = e.options[e.selectedIndex].value;
    var e1 = document.getElementById("formid:dropdownlist2id");
    var val1 = e1.options[e1.selectedIndex].value;
    var result = document.write(val + ',' + val1);
    return result;              
    }

jsp页面:

<h:commandButton styleClass="submitButton" value="search" 
    action="#{rController.method();}">
    <h:inputHidden id="hiddentext" value="#{rController.formidinput}"/>                         </h:commandButton>

【问题讨论】:

  • 为什么不将两个下拉列表的值绑定到一个支持 bean 属性?您似乎完全忽略了 JSF 的意义,并使用不必要的附加代码来解决它。

标签: javascript jsf


【解决方案1】:

如果formid 是您要提交的表单,并且您想将formValue() 的结果放入hiddentext 隐藏的&lt;input&gt; 字段,那么这应该可以。

如果这不是你想要的,那么你可能需要让你的问题更清楚一点。

Javascript:

function setFormValueInHiddenField() {
    var value = formValue();
    document.getElementById("formid:hiddentext").value = value;
}

JSP:

<h:form id="formid" onsubmit="setFormValueInHiddenField();"> 

【讨论】:

  • 嗨 Pauls,感谢您的回复,我正在尝试获取用户选择的那些下拉列表值,并基于第一个下拉列表我将编写我的代码以启用 jndi,然后根据第二个下拉列表查询 sql ,上面的代码正在提交一个表单,但它不会通过控制器方法来执行其余的逻辑。我想从这些下拉列表中访问用户选择的值。
  • 是的,Balusc,我只是想到了以同样的方式工作的想法,有 unccessasaryy .. 谢谢任何方式:-)
  • 对。我试图效仿你的例子,但@BalusC 指出了正确的方法。正确连接备用 bean,这一切都应该“正常工作”。
猜你喜欢
  • 2012-09-11
  • 2019-08-25
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多