2016-07-06 16 views
-1

を提出し、IMを使用してユーザの位置を取得し、ボタンが押されると、jsはコーディネーションを取得してフォームの隠しフィールドに入れ、フォームはPHPに送られますが、フォームを送信すると、小さなポップアップが出てきます場所とそれはすぐにページをリフレッシュしたPHPのためにおそらくそれを消滅させる、私は何をすべきですか?私は既にフォームの送信ボタンをクリックすると言ったようにjsがトリガーされ、許可が受け入れられた後に許可を求めます。隠しフィールドは調整データで満たされ、フォームはサーバに送られますが、ボタンを押した後、位置を1秒間表示してすぐに消えてしまい、ページが更新されずに更新されます。どうすればこの問題を解決できますか?はHTML5ジオロケーションを使用してフォームこんにちは

+0

を最初にユーザーがアクセス権をグラン刚性待つより、( 'e.preventDefault()')送信beeingてからフォームを拒否...か月必要があります:あなたはjQueryのはこのようにクリックを処理し、ロードしていると仮定すると、彼の入力を拒否し、処理する – Dwza

答えて

-1

* Chrome 50以降、Geolocation APIはHTTPSなどの安全なコンテキストでのみ動作します。 あなたのサイトが安全ではない発信元(HTTPなど)でホストされている場合、ユーザー の場所を取得するリクエストは機能しなくなります。これを解決する

0

一つの簡単な方法は、位置を検出し、ページ内のフォーム最初負荷が、それはだていないときを提出したときに許可を求めJSコードを実行することです。

あなたの問題は、フォームの送信時に同時にJavaScriptを実行しようとしていることです。デフォルトの動作を上書きしない限り、onclickイベントで実行されるスクリプトに関係なく、フォームは送信され、待機しません。

もう1つの方法は、デフォルトの送信動作を変更することです。

$(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. 
    }); 
}); 
関連する問題