• 締切済み

前ページ・次ページの判定の仕方

現在行いたい処理は以下の通りです。 (1)データの一覧を表示させる (2)一覧を表示させた状態でデータを変更する。 (3)更新ボタンを押さずに前ページか次ページを押した時に  「変更ボタンを押して下さい。」とのメッセージを出力させる。 (4) OKを押した時は、(3)の時に押した前ページか次ページの 処理を行う。 (4)の処理を行なった時に前ページか次ページの判定の仕方 がわかりません。 教えていただきたく、宜しくお願いいたします。 ソースは以下の通りです。 <script type="text/javascript"> function next(action) { var page = document.forms[0].NowPage.value; document.forms[0].NowPage.value = parseInt(page) + 1; document.forms[0].action = action; document.forms[0].submit(); } function before(action) { var page = document.forms[0].NowPage.value; document.forms[0].NowPage.value = parseInt(page) - 1; document.forms[0].action = action; document.forms[0].submit(); } function change(){ myRet = confirm("修正ボタンを押してください。"); if ( myRet == true ){ next('sample!Next.action'); } } </script> ・ ・ <td class="list1" ><s:textfield name="Sample1" size="10" maxlength="10" onchange="change()" /></td> ・ ・ ・  <td><s:submit value="修正" cssClass="form_button" action="Sample" method="Update" onclick="return confirm('%{btnUpdateMsg}');"/></td> <s:hidden name="btnUpdateMsg" /> <tr> <td class="form_navigation"> <s:if test="nowPage!=1"> <div class="navigation"> <s:a href="#" onclick="after('Sample!Next.action');"> <前ページ </s:a> </div> </s:if> </td> <td class="form_navigation"> <s:if test="nowPage!=TotalPage"> <div class="navigation"> <s:a href="#" onclick="next('Sample!Next.action');"> 次ページ> </s:a> </div> </s:if> </td> </tr>

みんなの回答

  • KI401
  • ベストアンサー率53% (44/82)
回答No.1

適当に前ページか次ページか分かるように判定専用の変数(フラグ)を用意して、 before,nextが呼び出された時にそのフラグを設定すればいい。 で、4番のステップでそのフラグ見て決めればいい。 # というかこの場合は前、不明、次の三種類なので、booleanをイメージさせる # flagよりはstateとかの言葉が正しい気がするが、まぁそこはどうでもいい。好きな名前つけてくれ ## あるいは、move=next;みたいにして直接関数入れてもいいかなと思う。 ## moveの初期値どうするかめどいからちゃんと考えてないけど。 それよりも、いくつか突っ込みたい。 ・なんでbefore<=>nextなんだ?prev<=>next,before<=>afterでしょうに。 ・そのインターフェース分かりにくくない?状況がよくわからないし何とも言えないけど、  「前」「次」クリックしたときに勝手にchange()処理してしまってもいいと思うんだけど…??  そうじゃないとアプリケーション要件を満たさないならせうがないが。。 ・アプリの案件としてScript非対応環境は考慮していないかもしれないけれど、  script要素内はHTMLコメントにするなりCDATAセクションにするなりした方がいい。 ・strutsタグ使っているけど、そう質問文で明示した方がいい。  全てのJavaScripterがstruts知っいるわけではないのだから。  今の場合質問に直接関係なさそーなので、別にstrutsタグ取り去った||出力したソースを提示してもよかったわけだし。

kouchan_s
質問者

お礼

ご回答ありがとうございます。 すいません。文章を短くするため関係ありそうな所の ソースを抜粋しのせました。 もう少し教えて下さい、 現在の動作はデータを修正し、前ページか次ページをクリックするとchange()の処理を行い「修正ボタンを押してください」のメッセージは出力します。ここまでは思ったとおりの動きです。 このあとにherfでの変数の設定方法とchageへ移行した時の変数 の取得方法をもう少し教えて下さい。(申し訳ありません。) (JavaScriptを始めたばかりなので・・・

関連するQ&A

専門家に質問してみよう