2016-07-06 57 views
-1

你好IM和後用戶提交我想保存他經度和緯度的形式,但問題已經出現與形式獲取用戶位置使用HTML5地理位置提交

我提交按鈕做一個onclick =「」事件當按鈕被按下時,js將獲得協調並將它們放到表單中的隱藏字段中,表單將被髮送到php,但是每當我提交表單時,小彈出窗口就會出現,並要求獲得許可的位置,它立刻消失這可能是因爲刷新頁面的PHP,我該怎麼辦?正如我已經說過的,當你點擊提交表單按鈕時,js將被觸發並在權限被接受後請求許可,隱藏字段將填充協調數據,然後表單將被髮送到服務器,但是,在我按下後按鈕然後彈出關於允許位置將出去一秒鐘,立即消失,頁面將刷新沒有結果,我該如何解決這個問題?

+0

你應該首先否認從beeing發送的形式('e.preventDefault()'),不是等待,直到用戶大獎賽的權限...或可能否認並處理他的投入 – Dwza

回答

-1

*從Chrome 50開始,Geolocation API僅適用於安全上下文,如HTTPS。如果您的網站存在 位於非安全來源(例如HTTP)上,則獲取用戶 位置的請求將不再有效。要解決這個

0

一個簡單的方法是運行檢測位置,並詢問許可時形式的第一負載的網頁,而不是當它是提交 JS代碼。

你的問題是,你試圖在表單提交時同時執行javascript。除非您重寫默認行爲,否則無論在onclick事件中運行哪些腳本,該表單都會提交,並且不會等待它們。

另一種方式是覆蓋默認的提交行爲。假設你已經jQuery的加載處理click這樣的:

$(function() { 
    $("#mySubmitButton").click(function(event) { 
    event.preventDefault(); //stops the form from submitting 
    //here write the code which asks for the location and puts it in the hidden fields 
    $("#myForm").submit(); //only now do we submit the form, manually. 
    }); 
});