Javascript 与 JSF

标签 javascript jsf jsf-2

我正在使用 Google Maps API 在客户端获取用户位置...然后我想将其发送到服务器端进行一些处理并填充一个选择框(使用本地地址)。

最好的方法是什么?最好我想按下一个按钮并使用 ajax 填充该框。

谢谢!

最佳答案

这是一个示例,说明如何使用 Ajax 将 Javascript 值(您的用户位置)传递给 bean。

位置将存储在 <h:inputHidden> 中 field 。 <f:ajax> 的执行属性指定将发送到服务器进行处理的值。

<h:form id="formname">
    <h:inputHidden value="#{indexBean.value}" id="hvalue" />
    <h:commandButton value="action" onclick="getLocation();" action="#{indexBean.doSome}">
        <f:ajax execute="hvalue" render="output" />
    </h:commandButton>
    <h:outputText value="#{indexBean.output}" id="output" />
</h:form>

在发送 Ajax 请求之前 <h:commandButton> 的 onclick 属性指定要执行的 Javascript 函数。您的 Javascript 函数应在隐藏字段中设置值。

function getLocation() {        
    document.getElementById("formname:hvalue").value = "TEST";                       
}

<f:ajax>的渲染属性指定要在客户端更新的内容。在这种情况下,它是一个 <h:outputText>在你的情况下,它将是你的 <h:selectOneMenu> .

关于Javascript 与 JSF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6533573/

相关文章:

javascript - 获取 playlistItems 的 viewCount,组合 HTTP 请求 youtube v3 + JQuery

javascript - 删除对象数组中的 `undefined`

java - Primefaces 动态列,以编程方式

JSF 2.0 : How to override base renderers with custom ones?

validation - JSF 2 在单击时禁用命令按钮但如果验证失败则重新启用?

java - JSF 下载文件返回index.jsf

javascript - jQuery 实用程序样板

javascript - 通过IBM BPM 8查找dojo的版本

java - 重新发明轮子 : connection pool

forms - 如何在 JSF 中定义表单操作?