0

最初に少し背景を説明します...私は、博物館の標本に関連付けられた印刷されたラベルからWebフォームを介してデータを収集するデータベースプロジェクトに取り組んでいます。フォームの一部には、国、州、郡、場所など、いくつかの地域フィールドが含まれています。多くの場合、これらの標本には地理座標(緯度、経度)が関連付けられていないため、遡及的に地理参照する必要があります。上記のフォームフィールドからの値が与えられた場合にポイントをプロットするWebアプリケーションにリンクするフォームの一部としてアイコンがあります。

ですから、可能であれば、データベースを作成している人に地域データをフォームに入力してもらいたいと思います。ローカリティフィールドに入力すると、javascript onblurまたはonchangeイベントがクエリ文字列(つまり、?country = xxx&state = xxx&county = xxx&location = xxx;ここでxxxはフォームonblurから取得したデータ)を作成し、マッピングWebアプリにアクセスするためのアイコンリンク。場合によっては、標本にすべてのローカリティフィールドのデータがないことがあり、これにより少し複雑になる可能性があります(??)が、マッピングアプリはこれを処理するように構築されています。

入力フィールドの例:

    <input name="country" placeholder="Country" onblur="if(this.value != '') { SOME CODE HERE??;}" required="required" type="text"/>

アイコン+リンク:

    <a href="http://www.museum.tulane.edu/geolocate/web/WebGeoref.aspx?country=xxx&state=xxx&county=xxx&locality=xxx" class="lytebox" data-title="Find Lat/Long" data-lyte-options="width:1000px height:800px scrollbars:no"><img title="Click to georeference location using GEOLocate." alt="" height="16" src="images/world.png" width="16" class="auto-style5"></a>

私はjavascriptにあまり精通しておらず、この問題に似た解決策をかなり探してきましたが、これまでのところ私は空っぽになっています。

誰かが助けてくれることを願っています。

4

1 に答える 1

0

さて、数時間いじくり回した後、私はこれを理解したと思います。

私が思いついたスクリプトはヘッダーにあります:

    <script type="text/javascript">
    function check_onblur() {
         var country = document.getElementById('country').value;
         var state = document.getElementById('state').value;
         var county = document.getElementById('county').value;
         var locality = document.getElementById('locality').value;

         document.getElementById('geolink').href = "http://www.museum.tulane.edu/geolocate/web/
           WebGeoref.aspx?country=" + country + "&state=" + state + "&county=" + county 
           + "&locality=" + locality;
    }
    </script>

フォームの入力フィールドの例:

    <input id="country" tabindex="14" name="country" placeholder="Country"
       onblur="check_onblur();" required="required" type="text"/>

フォームフィールドのエントリに基づいて更新される画像リンク:

    <a id="geolink" href="http://www.museum.tulane.edu/geolocate/web/WebGeoref.aspx"
    class="lytebox" data-title="Get Latitude/Longitude from Locality Data" data-lyte-
    options="width:1000px height:780px scrollbars:no"><img title="Click to georeference
    location using GEOLocate." alt="" height="16" src="images/world.png" width="16"
    class="auto-style5"></a>

これにより、onblurイベントが発生した後、クエリを使用してベースURLが更新されます。すべてが良いです....

于 2013-03-01T21:40:03.550 に答える