HTML
<a href="#" id="GRP01">AAAAAA</a> <a href="#" id="GRP02">BBBBBB</a> <a href="#" id="GRP03">CCCCCC</a> <div id="example-view"><iframe src="" data-src="http://www.foo.jp/view"></iframe></div>
JS
<script> $( function(){ $("a").click(function(e) { var id = $(this).attr("id"); if(id){ e.preventDefault(); getParam(id); } }); }); function getParam(id){ // http://www.foo.jp/view?param=id へ遷移したい } </script>
●やりたいこと
HTMLのいずれかのaタグをクリックしたらgetParamを実行し、クリックして取得したidをパラメータにして
指定のURLを呼び出す
現状、パラメータ(aタグのid)を引き継げないで遷移していまいます。
URL自体はひとつで、一番問題になっているのはパラメータを取得できずに遷移してしまうこと。
必ず、パラメータ付きで遷移する方法はありますか?(遷移方法自体は、今は問題視していません。)
jsの書き方は合っているでしょうか?
以下の現状のように、パラメータがundefineになることは避けたいです。
●質問投稿時の状態
aタグをクリックすると、パラメータがundefineになりhttp://www.foo.jp/view?id=undefinedへ遷移してしまう。
必ず、パラメータ付きで遷移したいです。
●アドバイス後の現状
アドバイスいただいて上記のようにjsを修正しました。
今度は、2度クリックしないと期待どおり画面遷移しないという結果になり、新たな問題です。
つまり、「getParamが、2度クリックしないと実行されない」、これが大きな問題です。
どうしたら一度のクリックで期待どおりになるでしょうか?
どこを修正したらいいでしょうか?