如何将 JavaScript 值传递给 JSF EL 和支持 bean?

发布于 2024-10-12 13:03:39 字数 814 浏览 5 评论 0原文

我正在做 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 组件?

I am doing JSF geolocation service where I need to pass latitude and longitude to bean for processing. HTML5 allows getting location with JavaScript, for example like is done in http://code.google.com/p/geo-location-javascript/.
Putting following code to JSF page shows alert with GPS coordinates

<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>

How to use p.coords.latitude.toFixed(2) value to pass it for example to h:inputtext component?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼趣 2024-10-19 13:03:39

您需要意识到 JSF 在 Web 服务器上运行并生成一堆 HTML/CSS/JS 代码,这些代码从 Web 服务器发送到 Web 浏览器,并且 Web 浏览器仅运行 HTML/CSS/JS。右键单击网络浏览器中的页面并选择查看源代码。在 的位置,您将看到类似于

<input type="text" id="formid:inputid" />

在 JS 中的内容,您可以使用 document 函数轻松从 HTML DOM 中获取 HTML 元素并对其进行更改。

var input = document.getElementById('formid:inputid');
input.value = 'new value';

另请参阅:

You need to realize that JSF runs at webserver and produces a bunch of HTML/CSS/JS code which get sent from webserver to webbrowser and that the webbrowser only runs HTML/CSS/JS. Rightclick the page in webbrowser and choose View Source. In place of the <h:inputText> you'll see something like

<input type="text" id="formid:inputid" />

In JS, you can easily grab HTML elements from the HTML DOM using document functions and alter it.

var input = document.getElementById('formid:inputid');
input.value = 'new value';

See also:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文