我正在使用 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/