0

私には 3 つのことがあります: 1. 2 つの数値フィールド (標準クラスから)。2. geolocator を使用して座標を抽出する 1 つの 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 に答える