如何在JSF中使用javascript函数提交表单,不带表单名称或id
How to submit a form using a javascript function in JSF w/ Richfaces, w/o the form name or id?
如果没有javascript中的表单名称或id,我该如何在Richfaces中提交表单?我想我可能可以使用jsFunction标记,但我一直没能弄清楚。
注意,我可以在jsFunction中设置函数的名称
编辑RF 3.3、JSF 1.2
如果不重复表单ID,并且不知道表单在HTML DOM树中的确切位置,而不是要提交表单的元素,这是不可能的。
您最多可以使用EL函数rich:element()
。想象一下,你有一个这样的表格:
<h:form id="myform">
然后,您可以在JS上下文中(在JSF页面中!)使用如下rich:element()
来获得HTML DOM元素形式的表单:
<script>
var form = #{rich:element('myform')};
form.submit();
</script>
这就是生成如下的HTML
<script>
var form = document.getElementById('myformOrWhateverClientIdItHas');
form.submit();
</script>
另请参阅:
- RichFaces内置客户端功能
Update:或者,当JS函数被表单内部的元素调用时,只需使用this.form
即可获得所讨论的HTMLDOM元素的父表单元素。例如
<h:selectBooleanCheckbox onclick="doSomething(this.form)" />
带有
function doSomething(form) {
// ...
form.submit();
}
使用a4j:jsFunction提交时不需要表单名称或id。
如果您想使用a4j:jsFunction,请不要忘记添加execute="@form"以提交所有表单
相关文章:
- Php,Javascript-动态表单id's和动态验证
- Jquery无法找到给定表单id的表单输入
- 具有更改表单ID的选择器
- 根据 HTML 表单 ID 值动态设置 jquery 选择器
- 使用 Jquery 从输入中获取表单 ID
- Javascript 找不到 HTML 表单 ID
- 如何从AJAX获取表单ID,并在Symfony2的点击函数中进行设置
- 更改使用 ajax 且不带表单 ID 的表单提交
- 将表单id传递给函数并在函数内提交
- 从OnSuccess或OnFailure获取表单Id
- 追加参数'表单id'使用URL
- 如何在发送表单之前使用jquery选择表单id
- 通过表单id访问单选按钮值
- 如何在javascript中验证相同的表单id
- 如何提交没有表单ID和提交ID,但已知隐藏值的表单
- 正在表中打印表单id
- Jquery获取表单id当一个复选框被点击
- 如何获得表单id与js
- 使用jQuery .submit()检索提交的表单ID和/或名称
- 动态删除后如何更改表单id