我正在做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
组件?
答案 0 :(得分:9)
你需要意识到JSF在webserver上运行并产生一堆HTML / CSS / JS代码,这些代码从webserver发送到webbrowser,而webbrowser只运行HTML / CSS / JS。在webbrowser中右键单击页面,然后选择查看源。代替<h:inputText>
,您会看到类似
<input type="text" id="formid:inputid" />
在JS中,您可以使用document
函数轻松地从HTML DOM中获取HTML元素并进行更改。
var input = document.getElementById('formid:inputid');
input.value = 'new value';