• 締切済み

JAVASCRIPTでの画面を再表示させない方法

JAVASCRIPT初心者です。よろしくお願いします。 ちょっと特殊なのですが、JSPで <a href=\"javascript:nextPattern()\"> のような形で<A>タグで遷移を行うように指定しています。 JAVASCRIPTではフラグに応じて処理を分けたいと思っています。 function nextPattern() {  if (flg == 1) { ☆☆処理1☆☆  } else { ☆☆処理2☆☆  } } そこで、このflgが1であるときに、画面遷移を行わないようなメソッドにしたいのです。 画面の再表示がされず、処理が自画面に戻ってくるだけ。っというようなことをしたいのですが、思いつくことを(return false;やbreak;など・・・)してみたところ うまくいきません。 どうしても<A>タグの内容を変えたくないので、ややこしくなっているとは思うのですが、何とかお知恵をお貸しください。 よろしくお願い致します。

みんなの回答

  • wangkp
  • ベストアンサー率25% (9/35)
回答No.1

これはどでしょう →<A HREF="#" onclick="javascript:nextPattern()"> function nextPattern() {  if (flg == 1) { return false;  } else { .....  } }

関連するQ&A

  • JavaScript 遷移中止できない

    下記のようなコードで 「本当に画面遷移してもいいですか?」にいいえを答えたら、 falseが返され、遷移が中断されるようにしたかったのですが、 遷移してしまいます。 なぜか考えてもわからないので、ご存知の方がいたら教えて頂きたいです。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body> <a href="https://www.--------">サイトへ遷移します</a> <script language="javascript" type="text/javascript"> function func_check(){ if( confirm("本当に画面遷移してもいいですか?") ) { return true; } else { return false; } } </script> </body> </html>

  • javascriptのconfirmについて

    javascriptのconfirmが実行されると確認ダイアログボックスが表示されるはずですが、 何故か何も表示されず、必ずfalseを通ります。 かなり初心者的ミスを侵している気がしますが、調べても分からなかったので、 どなたかご教授頂ければ幸いです。記述したソースは以下になります。 headタグ内 <script type="text/javascript"> <!-- function confirm(s){ if(window.confirm('実行します')){ location.href = "/?flg="+s; } return false; } // --> </script> ■bodyタグ内 <a href="javascript:confirm('1');return false;">テスト</a>

  • 携帯 JAVA JSP 画面遷移

    携帯のWebアプリを作成しており、ボタンごとに画面遷移させる方法を考えています。 以下はPC用に作成したJSP <script Language="JavaScript"> <!-- function inOut(flg){ if(flg){ lert("あ"); location.href='top.jsp'; }else{ alert("い"); location.href='top2.jsp'; } } // --> </script> <html> <head> <title>テスト</title> </head> <body> <form method="POST" action="top3.jsp"> <input type="button" name="in" onClick="inOut(true);" value="あ" /> <input type="button" name="out" onClick="inOut(false);" value="い" /> <input type="submit" name="back" value="う" /> </form> </html> 現状の問題点は2点あり、 1.携帯はJavaScriptが使用できない 2.<input type="button"~ とするとテキストボックスのような見栄え・機能になってしまう。 携帯Webアプリの場合、ボタンごとの画面遷移はどのように行えばよいのでしょうか?

  • JavaScriptでPOSTで自ウィンドウのなりかわり表示させたい

    下記のJavascriptを使ってPostで遷移させたいのですが、 下記のままだと別画面が表示され、送信元ではwindow.close();を行っているためブラウザのセキュリティ警告で「閉じますか」のポップアップが表れます。 function link(err_flg){ var url = ""; if(err_flg == -1){ url = "err.html"; }else if(err_flg == 0){ url = "http://**.com/dir/direct.action"; } document.fm.action = url; document.fm.method = "POST"; document.fm.target = "aaa"; document.fm.subm.click(); window.close(); } POSTで渡し、警告ポップアップを表示させず且つターゲット名を指定し、自画面が成り代わる(http://**.com/dir/direct.actionのURLに対して)方法はございますか? よろしくお願いいたします。

  • 簡潔なJavaScriptで実現したい

    次のような、btnToggleというクラス名のdivタグがいくつかあるHTMLで、 それぞれクリックするとそれぞれの「開く/閉じる」が反転するという動きをさせたいです。 <div class="btnToggle"><a href="#"><span>+</span>開く</a> <div>AAA</div> </div> <div class="btnToggle"><a href="#"><span>+</span>開く</a> <div>BBB</div> </div> <div class="btnToggle"><a href="#"><span>+</span>開く</a> <div>CCC</div> </div>    : <div class="btnToggle"><a href="#"><span>+</span>開く</a> <div>XXX</div> </div> 下記のようなJavaScriptで実行してみたのですが、 いくつかのdivタグをそれぞれクリックすると、flgの値と現在の状態が入れ替わってしまいます。 クラス名が同じで、flgも一つの変数なので当たり前なのですが… <script type="text/javascript"> $(document).ready(function(){ var flg = "close"; $(".btnToggle").click(function(){ if(flg == "close"){ $(this).html("<span>-</span>閉じる"); flg = "open"; }else{ $(this).html("<span>+</span>開く"); flg = "close"; } }); }); </script> 私が考えられることは、classではなく、idで「btnToggle1」「btnToggle2」「btnToggle3」…などと定義し、 JavaScriptのプログラムを次のように書くしか思いつかないのですが、 これでは、我ながら間抜けなプログラムだなと思いました。 <script type="text/javascript"> $(document).ready(function(){ var flg1 = "close"; $(".btnToggle1").click(function(){ if(flg1 == "close"){ $(this).html("<span>-</span>閉じる"); flg1 = "open"; }else{ $(this).html("<span>+</span>開く"); flg1 = "close"; } }); var flg2 = "close"; $(".btnToggle2").click(function(){ if(flg2 == "close"){ $(this).html("<span>-</span>閉じる"); flg2 = "open"; }else{ $(this).html("<span>+</span>開く"); flg2 = "close"; } }); var flg3 = "close"; $(".btnToggle3").click(function(){ if(flg3 == "close"){ $(this).html("<span>-</span>閉じる"); flg3 = "open"; }else{ $(this).html("<span>+</span>開く"); flg3 = "close"; } });        :        : }); </script> 配列などを使えばもっと簡潔になるのでしょうか。 どうか教えてくださいますようお願い申し上げます。

  • 【Javascript】でsubmit時に一瞬ページトップへ画面が動いてしまう

    FORMのACTION先への画面遷移を、onClickを使ってsubmit()しています。 === Javascript部分 ============================ <SCRIPT TYPE="text/javascript"><!-- function hoge(a,b){ frm.elm1.value = a; frm.elm2.value = b; frm.submit(); } --></SCRIPT> === HTML ====================================== <A HREF="#" onClick="hoge(1,2);">ほにゃらら</A> =============================================== HREF="#" としているせいか、 クリック時にページ先頭へ動いてからFORMの遷移先へ画面が遷移します。 Aタグを使っているのはスタイルシートでhover時のスタイルを指定したい為です。 Javascriptでsubmitしているのはご覧のようにクリック時に一処理したい為です。 普通のリンクのように クリックしてから遷移するまでの間に画面が動かないよう 自然に見せるにはどのようにすれば実現できるでしょうか。 ご存知の方いらっしゃいましたらご教示願います。 宜しくお願い致します。

  • Javascriptでどうしてもうまく動きません・・・

    いつもお世話になってます! ある編集ページがあって、登録ボタンを押すと、入力漏れ等チェックして、問題なければ「登録します。よろしいですか?」と表示させ、OKなら処理ページへ移動させます。NGなら、確認窓を閉じます。 そこに、"del_chk"というチェックボックスを作り、そのチェックボックスをチェックして登録ボタンを押すと、「このレコードを削除します。よろしいですか?」と表示させ、OKなら、再度「本当に削除します。よろしいですか??」と表示させ、OKなら、処理ページへ移動させます。ただし、NGを押せば、押した時点で確認窓を閉じさせたいのです。 そこで、JavaScriptを考えてみましたが、何も確認窓がでてこず、困っています。。。 どこが間違えているのかわかりません。。どなたか添削をお願い致します。 <script type="text/javascript"> <!-- function FormCheck(){ //すべて異常ないとき if(!document.form.del_chk.checked){ if(confirm("登録します。よろしいですか?")){ return true; break; }else{ return false; break; } }else{ if(confirm('削除します。よろしいですか?')){ if(confirm("本当に削除します。よろしいですか??")){ return true; break; }else{ return false; break; } } } return true; } //--></script> <formタグの所に、onsubmit="return FormCheck();"を付け加えています。 すみません、よろしくお願いします。 (あと、わかればこれも・・・ <formタグを<td>の中などで使うと、表示がずれるのですが、なにかわかればこちらもよろしくお願いします。たとえば、行の高さが異様に膨らんだり・・・)

  • javascriptのエラーについて

    お世話になります。 JavaScriptのエラーについて質問があります。 JavaScriptを実行すると、 下記のエラーが表示されてしまい、 NN4.7において実行できません。 check is not defined. JavaScriptの呼び出し処理は下記のとおりとしています。 <a href="#" onClick='check();return false'> <SCRIPT language="Javascript"> <!-- function check() { if( shoricheck() == "err"){ // エラーの場合 return; } document.form.submit(); } --> おそらくメソッドが認識できていないのだと思いますが、 再読み込みを行った場合は、 処理できます。 初期表示時のみです。 タグなどのチェックは行っているため 特に問題ないかと思いますが、 原因はやはりタグの入れ間違いなどでしょうか。 本当に申し訳ございませんが 宜しくお願いいたします。

  • javascriptで困っています。

    htmlのaタグの<a href="" onClick"hoge(); return false">からjavascriptの関数を呼び出したいのですが、html内に記述したものではなく、外部ファイルに記述した関数を呼び出したい場合はどのようにaタグを記述すればよいのでしょうか?

  • HTML+PHP+JavaScript

    リンクからJavaScriptでPHPに遷移させ、書き換えた内容を表示するというものをやりたいのですが。。 PHPではcase文で場合わけし、モードによってHTMLを表示させる機能はできています。 しかし、HTMLのリンク<A href=""></A> で新しいウィンドウを開き、そのページにその処理を行いたいです。 現在ボタンなどでは下記のように遷移させています。 <!-- function send(action, mode){ document.forms[0].mode.value = mode; document.forms[0].action = action; document.forms[0].method = "post"; document.forms[0].submit(); return false; } //--> <INPUT TYPE="button" VALUE="編集する" onClick="javascript:send('{val PHP_PATH}{val EDIT_PATH}','baseinfo')"> これですと、指定したアクションのPHPに遷移し、このモードにより処理をわけています。 しかし、リンクがクリックされたら、処理にいき、 さらにその処理をしたデータを新しいウィンドウに表示されるというのがどうもうまくいきません。 普通に ・<A HREF="" onclick="javascript:send('{val PHP_PATH}test.php','template')" TARGET="conf">テスト</A> とすると、元のウィンドウに、修正した内容が反映され、新しいウィンドウはブランクしてしまいます。 何か他によい方法はありませか?

    • ベストアンサー
    • PHP

専門家に質問してみよう