2014-09-04 20 views
0

我有一些JavaScript從用戶的設備獲取經緯度用於本地搜索。Html表單 - 當輸入等於「Nearby」時運行Javascript

一切工作正常,但由於地理位置函數創建彈出警告給用戶「允許」或「不允許」他們的位置被使用,我想不運行腳本,除非用戶已經專門選擇「附近」作爲位置。

這裏是我的java,做地理位置:

<script type="text/javascript"> 

x = navigator.geolocation; 
x.getCurrentPosition(success, failure); 

function success(position){ 
    document.getElementById('lat1').value = position.coords.latitude; 
    document.getElementById('long1').value = position.coords.longitude; 
} 
function failure() 
{ 
// do nothing 
} 

這是我的形式。輸入id="search-box-2"是我想用來更改腳本行爲的輸入元素。如果input id="search-box-2"value="Nearby",那麼我想讓javascript函數執行。否則,理想情況下它什麼都不會做。

<form id="search-form" method="get" accept-charset="UTF-8, utf-8" action="page.php"> 

    <fieldset> 
     <input id="search-box-1" name="search" type="text" placeholder="" /> 
     <input name="lat" type="text" id="lat1" value="" /> 
     <input name="long" type="text" id="long1" value="" /> 
     <input id="search-box-2" name="where" type="text" placeholder="City or State" value=""/> 
    <div class="button-holder"> 
     <button class="button-homepage" type="submit">Search</button> 
    </div> 

    </fieldset> 
    </form> 

所以,綜上所述,我想腳本只有當搜索框-2字段值提前等於「附近」

謝謝運行。

回答

0

您是否嘗試過這樣的事情:

觸發該功能提交

function notNearby() { 
    if($('#search-box-2').val() != 'nearby') { 
    x = navigator.geolocation; 
    x.getCurrentPosition(success, failure); 

    function success(position){ 
     document.getElementById('lat1').value = position.coords.latitude; 
     document.getElementById('long1').value = position.coords.longitude; 
    } 
    function failure() 
    { 
    // do nothing 
    } 
    } 
} 

HTML:

<button class="button-homepage" onclick='notNearby();' type="submit">Search</button> 

如果不是這樣,我不明白你的問題

+0

是沒似乎沒有工作 - 我不明白爲什麼 – Kevin 2014-09-05 17:38:33

+0

你得到了什麼錯誤 – 2014-09-06 03:24:24