[PHP-users 6115] Re: FORMのaction について

S.Okazaki php-users@php.gr.jp
Wed, 13 Mar 2002 15:15:41 +0900


岡崎です。

> http://www.softkoubou.co.jp/ 
> 
> 回線が細いので重いですが、上記の CSLPG デモの中では、
> 明細伝票保守で、郵便番号簿や商品表を別ウィンドーで
> 検索してから、伝票画面に代入するような処理を JavaScript
> で書いています。ご参考になれば、幸い。

私も近藤様のページを参考にさせていただき、下記のような
JavaScriptを表示するクラスを作りました。

class print_js {

//send_data_to_hidden 用メンバ変数
    var $send_name='';                 //送るデータの名前
    var $send_data='';                 //送るデータ
    var $flame_name='';                //送り先flame名
    var $to='';                        //送り先ファイル名
    var $form_name='';                 //フォームの名前
    var $num_etc_forms='';             //目標セルの上
    var $num_one_rows='';              //一行辺り幾つのセルがあるか
//return_data_to_main 用メンバ変数
    var $return_name='';               //返値の名前
    var $return_cel='';                //データの帰り先
    var $flame_name='';                //送り先flame名
    var $form_name='';                 //フォームの名前
    var $function_name='';             //JavaScript 関数名

//********* データを hidden に送るJavaScirpt*********//
    function print_send_data_js() {
        $print_js="
<script language=JavaScript>
<!--
    function print_customer(i) {
      i=i*$this->num_one_rows+$this->num_etc_forms;
      $this->send_data=document.$this->form_name.elements[i].value;
      top.$this->flame_name.location.href 
      =\"$this->to?$this->send_name=\"+$this->send_data+\"&cel_num=\"+i;
    }
 -->
</script>
        ";
        return $print_js;
    }
}


//********* 返値を hidden から main に戻すJavaScirpt*********//
    function return_data_js($cel_num,$name) {
        $print_js="
<script langugae=JavaScript>
<!--
  function $this->function_name(cel_num,$this->return_name) {
      parent.$this->flame_name.document.$this->form_name.
      elements[cel_num+$this->return_cel].value=name;
  }
-->
</script>
        ";
        return $print_js;
    }


隠しフレーム(hidden)にデータを送り、隠しフレームで
DBを検索したり(この辺りは自由です)して、返値を
メイン画面(main)の、入力セルの「幾つ先」かを指定して
そのセルに返します。

ご参考になれば幸いです。

/_/_/_/_/_/_/_/_/_/_/_/_/_/
Japan Human Base 
Sotaro Okazaki
Email : okazaki@jp-hb.com
/_/_/_/_/_/_/_/_/_/_/_/_/_/