0

我有三件事: 1. 我想动态填充的两个数字字段(来自标准类)。2. 1个使用geolocator提取坐标的Javascript函数;3.一个单选按钮,当点击数字字段将被动态填充

以下是我用来完成任务的代码,但它不起作用。你能帮帮我吗?我在做什么错?预先感谢您的帮助

** 我已检查我的地理定位器功能是否正常工作。我想,我的问题出在代码中,它提取代码并动态填充数字字段。

add_filter('gform_field_value_longitude', 'populate_longitude');
function populate_longitude($value){
?>
<script type="text/javascript">
    $(document).ready(function() {
        var x=document.getElementById("latitude");
        var y=document.getElementById("longitude");

    if(navigator.geolocation){
    navigator.geolocation.getCurrentPosition(showLocation, errorHandler, {enableHighAccuracy:false, maximumAge:60000, timeout:27000});
    }else{
        alert('Votre navigateur ne prend malheureusement pas en charge la géolocalisation.');
        }
    });

    function showLocation(position){
        x.value=position.coords.latitude;  
        y.value=position.coords.longitude;
    }

    <input type="radio" value="extract_coordinate" onclick="populate_longitude;">

    </script>
<?php
    return "$y";
}
4

2 回答 2

0

该代码有效吗?就像在浏览器中打开页面一样,它是否显示了所有必需的字段?我不知道您正在使用的插件,但似乎代码可能有语法错误。

引起我注意的第一件事是,在 onclick 事件中,您实际上并没有调用该函数。尝试这个:

<input type="radio" value="extract_coordinate" onclick="populate_longitude();">
于 2013-10-11T13:56:34.917 回答
0

你在这方面有什么进展吗?如果您需要修复 OP 中的代码而不是您提供的链接中的代码,请检查以下内容。您的函数应该在 <*script> 标记内,因为您需要从 onclick 事件中调用它,因此它应该是 Javascript。您还需要删除 document.ready 并只使用常规函数。

//add_filter('gform_field_value_longitude', 'populate_longitude');
<script type="text/javascript">
    function populate_longitude(){
        var x=document.getElementById("latitude");
        var y=document.getElementById("longitude");

        if(navigator.geolocation){
           navigator.geolocation.getCurrentPosition(showLocation);
        }else{
           alert('Votre navigateur ne prend malheureusement pas en charge la géolocalisation.');
        }
     }

     function showLocation(position){
         document.getElementById("latitude").value = position.coords.latitude;
         document.getElementById("longitude").value =position.coords.longitude;
     }
</script>

<input type="radio" value="extract_coordinate" onclick="populate_longitude();">
<input type="text" value="" id="latitude">
<input type="text" value="" id="longitude">
于 2013-10-24T07:00:17.100 回答