我正在做 JSF 地理定位服务,我需要将纬度和经度传递给 bean 进行处理。 HTML5 允许使用 JavaScript 获取位置,例如在 http://code.google.com/p/geo-location-javascript/ 中完成的那样. 将以下代码放入 JSF 页面会显示带有 GPS 坐标的警报
<script>
if (geo_position_js.init()) {
geo_position_js.getCurrentPosition(success_callback,error_callback,{enableHighAccuracy:true,options:5000});
} else {
alert("Functionality not available");
}
function success_callback(p) {
alert('lat='+p.coords.latitude.toFixed(2)+';lon='+p.coords.longitude.toFixed(2));
}
function error_callback(p) {
alert('error='+p.message);
}
</script>
如何使用 p.coords.latitude.toFixed(2)
值将其传递给 h:inputtext
组件?
最佳答案
你需要意识到 JSF 在网络服务器上运行并产生一堆 HTML/CSS/JS 代码,这些代码从网络服务器发送到网络浏览器,而网络浏览器只运行 HTML/CSS/JS。在网络浏览器中右键单击页面并选择查看源代码。代替 <h:inputText>
你会看到类似的东西
<input type="text" id="formid:inputid" />
在 JS 中,您可以使用 document
轻松地从 HTML DOM 中抓取 HTML 元素。功能并改变它。
var input = document.getElementById('formid:inputid');
input.value = 'new value';
另见:
关于javascript - 如何将 JavaScript 值传递给 JSF EL 和辅助 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696722/