javascriptでパラメタを渡しながら画面遷移

| コメント(0) | トラックバック(0)
やりたいこと。

javascriptで画像ファイルの一覧を表示
    ↓
一覧から一つの画像を選択
    ↓
javascriptでその画像のサイズ指定画面を表示
    ↓
サイズを入力しOKを押すと画像名とサイズを表示
(実務的には、その情報をテキストエリアに入力させたりする)



【HTML】
<!-- JSファイル読み込み -->
<script type="text/javascript" src='./transition.js'></script>


<!-- 事前に遷移画面は用意しおき、隠しておく-->

<!-- 画像選択画面 -->
<div id="confirm1" style='visibility:hidden;position:absolute;'>
 <div>
  <div style="float:left;padding:3px;">
   <b>画像一覧</b>
  </div>
 <div style='text-align:right;padding:3px;'>
  <a href="javascript:void(0)" onclick="close_img_list();">閉じる</a>
 </div>
 <div style='overflow:auto;'>
  <table>
 <tr>
    <td style="padding:4px;">
     <!-- 画像のイメージと画像ファイル名 -->
     <div style="overflow:hidden;float:left;">
      <div style='clear:both;overflow:hidden;'>
       <img src='./hoge/hoge.gif' />
      </div>
      <div>
        <a href="javascript:void(0)" onclick="show_given_size('hoge.gif');">hoge.gif<a/>
      </div>
     </div>
        ・
        ・
        ・
    </td>
   </tr>
  </table>
 </div>
</div>

<!-- 画像サイズ指定画面 -->
<div id="confirm2" style='visibility:hidden;position:absolute;'>
 <div>
  <div style="padding:3px;">
   <b>画像サイズ指定</b>
  </div>
  <div style='padding:3px;'>
   <a href="javascript:void(0)" onclick="close_given_size();">閉じる</a>
  </div>
 </div>
 <div>
  <table>
   <tr>
    <td>
     画像の縦横サイズを指定してください
    </td>
   </tr>
   <tr>
    <td>
     <form name='given_size' action='#'>
      W <input type='text' name='img_w' value='' /> px × H <input type='text' name='img_h' value='' /> px
<input type='button' name='ok' value='O K' onclick="alert(get_img_info\(\),'');close_given_size();" />
      <input type='hidden' name='img_name' value='' />
     </form>
    </td>
   </tr>
  </table>
 </div>
</div>


<!-- 初期画面 -->
<div>
 <a href='javascript:void(0)' onclick="show_img_list()">画像一覧を表示</a>
</div>


【javascript(transition.js)】

// 画像一覧表示
function show_img_list() {
 document.getElementById("confirm1").style.visibility="visible";
}

// 画像サイズ指定画面表示
function show_given_size(name) {
document.getElementById("confirm2").style.visibility="visible";
document.given_size.img_name.value = name;
}

// 画像一覧を非表示
function close_img_list() {
document.getElementById("confirm1").style.visibility="hidden";
}

// 画像サイズ指定画面を非表示
function close_given_size() {
document.getElementById("confirm2").style.visibility="hidden";
}

// 画像名と画像サイズを組み合わせて返却
function get_img_info(){
var img_name = document.given_size.img_name.value;
var img_w = parseFloat(document.given_size.img_w.value);
var img_h = parseFloat(document.given_size.img_h.value);
if((!img_h) || (!img_w) || (img_h < 1) || (img_w < 1) ){
alert("サイズは1以上の半角数字で指定してください");
}
return '画像ファイル名は' + img_name + 'で、サイズは横が' + img_w + 'PX、縦が' + img_h + 'PXです。';
}


------------------------------------------------------------------------

※ポイントは、hidennフィールドに後から値を付け足すということ。

トラックバック(0)

トラックバックURL: http://www.igreks.jp/blog/mt-tb.cgi/2024

コメントする