Как передать значения JavaScript в JSF EL и backing bean?
Я делаю службу геолокации JSF, где мне нужно передать широту и долготу Бобу для обработки. 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
компонент?
1 ответов
вам нужно понять, что JSF работает на веб-сервере и создает кучу HTML/CSS/JS-кода, который отправляется с веб-сервера на webbrowser, и что webbrowser запускает только HTML/CSS/JS. Щелкните правой кнопкой мыши страницу в WebBrowser и выберите Посмотреть Источник. Вместо <h:inputText>
вы увидите что-то вроде
<input type="text" id="formid:inputid" />
в JS вы можете легко захватить HTML-элементы из HTML DOM, используя document
функции и изменить его.
var input = document.getElementById('formid:inputid');
input.value = 'new value';