JavascriptHelper
手軽にAjaxやDHTMLのような動作が扱えるヘルパー。
link_to_remote ($name, $options = array(), $html_options = array())
Ajaxイベントを発生させるリンク。殆どRails互換。
$optionsのパラメータ
オプション名 | prototype.jsでのオプション名 | 内容 |
url | url | url |
submit | postBody | フォームとして取り扱うIDのエリア |
update | Ajax.Updaterの第一引数 | レスポンスが反映されるエリアのID |
script | evalScripts | レスポンスが返ってきた時に、その文字列をスクリプトとして評価 (eval) するかどうかを示す。 |
confirm | 確認ダイアログを開いたときのメッセージ内容 | |
loading | ロード時に実行されるJavascript関数 | |
loaded | ロード終了時に実行されるJavascript関数 | |
interactive | ユーザがリモートのドキュメントに対して反応できるようになったら呼ばれる。反応が可能になったときには、ドキュメントのロードが終了する前でも呼ばれる。 | |
success | XMLHttpRequest が完了し、HTTP ステータスコードが 2XX 系の場合に呼ばれる。 | |
failure | XMLHttpRequest が完了し、HTTP ステータスコードが 2XX 系ではない場合に呼ばれる。 | |
complete | XMLHttpRequest が完了したら呼ばれる。(success/failure を優先して使用した方がよい) | |
before | リクエストが開始される前に呼び出される。 | |
after | リクエストの完了後に呼び出される。 |
コードサンプル
<?php echo link_to_remote( "表示", array( 'url'=>$sf_context->getModuleName(), 'submit'=>'ref_area', 'script'=>true, 'update'=>'ref_area', 'loading' => visual_effect('BlindUp', 'ref_area'), 'loaded' => visual_effect('BlindDown', 'ref_area'), ) ) ?>
button_to_remote ($name, $options = array(), $html_options = array())
link_to_remoteをボタンにしただけで、取り扱いは変わらず。
remote_function ($options)
Ajaxリクエストの生Javascriptを返す。オプションはlink_to_remoteとほぼ共通。
コードサンプル
<div id="response_area"></div> <?php echo javascript_tag(remote_function( array( 'update'=>'response_area', 'url'=>'module/action', 'script' => true ) )) ?>
visual_effect ($name, $element_id = false, $js_options = array())
指定したエレメントにエフェクトを仕掛ける。
$nameに入る値
出現 | Appear | ゆっくりと色が濃くなるように出現 |
BlindDown | 上から下にブラインドを下ろすように出現 | |
Grow | 中央から広がるように出現 | |
消失 | BlindUp | 下から上にブラインドを上げるように消失 |
DropOut | 下に落ちていくように消失 | |
Fade | ゆっくりと色が薄くなるように消失 | |
Fold | BlindUpと同様に下から上に消えていった後に、最上部が右から左に消失 | |
Puff | 画面全体に広がりながら、色が薄くなって消失 | |
Shrink | 中央に収縮するように消失 | |
Squish | 左上に収縮するように消失 | |
SwitchOff | 一度点滅した後に、高さが狭くなって消失 | |
その他 | Highlight | 一瞬明るい色になって、徐々に元の色に戻る |
Pulsate | 数回点滅した後に停止する | |
Shake | 数回左右に揺れた後に停止する |
サンプルはlink_to_remoteを参照
sortable_element ($element_id, $options = array())
並べ替えが出来る。$optionsの値はurl以外はscript.aculo.usのSortable.create互換。
$optionsのパラメータ
- url : 結果送信先のURL
- tag : 並べ替え対象のタグ
- treetag : 並べ替え対象の親のタグ