eic

Tech Info

ITブログ

業務で使用した技術情報などを
備忘録も兼ねて掲載していきます。

ページ遷移させずにphpの処理を実行させる

2015.09.30 11:50/加藤

カテゴリー: php

プルダウンタイプのリストボックス(selectタグのアレ)のある値が選択されたとき、その値に応じてDBから情報を取得し、別のリストボックスの表示内容を変えたい時などに使えると思います。

①見えないフレームを追加する

<iframe name=”frame1″ width=0 height=0 style=”visibility:hidden”></iframe>

width属性およびheight属性を0に設定。さらにstyle属性に”visibility:hidden”を設定することで見えないフレームを作ることができます。

あと、このiframeタグに適当なnameを付けておきます。
iframeタグを記述する場所はbodyタグの手前あたりでOKです。

②①で作った見えないフレームに向けてSubmit

<form name=”form1″ action=”Hogehoge.php” target=”frame1″>

submitしたいフォームのaction属性に実行させたいphpファイルを、target属性に①で作ったフレームのname属性の値を設定します。
こうすることで”ページの遷移”をそのフレームに押し付けるような感じに出来るので、見た目上画面が変化することなくphpの処理を実行させることができます。
フォームの属性をJavaScriptで変えたいときはこのようにします。

document.form1.action=”Hogehoge.php”;
document.form1.target=”frame1″;

③見えないフレームから元のフレームの要素を操作する
ただし見えないフレームでphpを実行させても、そのままでは元の画面は何も変わりません。
phpで処理した結果を元の画面に反映させるためにJavaScriptで元の画面を変更します(見えないフレームで実行させたいphpファイルに記述します)。
parent.document.~とすることで元の画面(見えないフレームの親フレーム)の要素にアクセスできます。
getElementByIdまたはgetElementsByName等で元の画面の要素オブジェクトを取得し、実行したい処理を記述しましょう。

月別アーカイブ
カテゴリー別アーカイブ

アクセス

株式会社 アンサンブルイノベーション

本社
〒152-0004
東京都目黒区鷹番3-14-4 グリーンヒルズ102

東急東横線 学芸大学駅西口 徒歩2分
TEL
03-5724-7137
FAX
03-5724-7157
E-MAILでのお問い合わせ
information@e-innovation.co.jp