top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_1113

フォーム操作:symfonyで構築中。さて?こんな方法でいいのか?symfonyでのフォームハンドリング ・・・ 【symfonyで構築】

 2009-10-10
 サイトのコンタクトフォーム
 ブラッシュアップ中・・・

 基本は、symfonyフレームワークを利用していて
 なかなか使い勝手が心地良い。
 しかし、学習半ばのところもあり、
 実際の構築には今までの方法も交えている。


 【コンタクトフォームのハンドリング


  ・ある頁から、パラメータ伴ってアクセスした際
   ・複数選択可能のチェックボックスで
    ・パラメータで特定されるもののみ
     ・自動的にチェックを入れる。


 よくこういう用途ありますよね。
 さてさて。


  追記に ▼

FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more

************************************************
◎ フォーム操作:symfonyで構築
************************************************


 ※正しい方法ではないと思いますので
  ご参考までに・・・

 【目的
  ・ある頁で
   複数のリンクリストがある

※興味あるもの
 ・トラベル
 ・インターネット
 ・宇宙
 ・子供
 ・歴史
  ・・・ちょっとリスティングが私的ですが。


  ・それぞれ、コンタクトリストに飛ぶのだが、
  ・そこに
   ・複数選択可能な(上記と同じリストの)
    チェックボックス があり


  ・それぞれクリックして飛んだら
   その選択肢にチェックを入れたい。


 【今まで】なら
  ・post であろうが、get であろうが
   ・php などで値を取得し
    ・動的に頁を生成する際、
     ・該当するチェックボックスで " checked"
      組み込む方法


 【symfony】利用しているので
  ・actions.class.php
  ・_form.php
  などを使いつつ、実現方法を探る。


 【結果
  ※今回の目的以外に、
   頁表示後にハンドリングしたいことも
   出てきたので
   ・JavaScript を併用することに。


 【実装


  □リンク実装


   ※最初のリスティング部分で次のように実装
<?php echo link_to('トラベル', '/contact/item/v/0', array('title'  => 'トラベル')) ?>
<?php echo link_to('インターネット', '/contact/item/v/1', array('title' => 'インターネット')) ?>
<?php echo link_to('宇宙', '/contact/item/v/2', array('title' => '宇宙')) ?>
<?php echo link_to('子供', '/contact/item/v/3', array('title' => '子供')) ?>
<?php echo link_to('歴史', '/contact/item/v/4', array('title' => '歴史')) ?>

  □actions.class.php


   ※受けての contactモジュールで
public function executeItem(sfWebRequest $request)
{
$this->form = new ContactForm();
$temp_v = $request->getParameter('v', '');
if(is_numeric($temp_v)&&($temp_v>=0)){
$this->item_n = $temp_v;
}else{ $this->item_n = ""; }
$this->setTemplate('new');
}
 とし、テンプレートで $item_n が使えるように。

  □テンプレート newSuccess.php


   ※_form.php に値を渡し、
<?php include_partial('form', array('form' => $form,'item_n' => $item_n)) ?>

  □_form.php


   ※フォーム表示後、
<script type="text/javascript">
var form = this.document.forms['*****'];
form.elements['contact[**********][]'][<? echo $item_n; ?>].checked=true;
</script>
 として、チェックを入れる。

  ※実際はこのほかにも
   いくつか 頁表示後のハンドリング
   しているのだけど・・・


  一応、動いている。

 さて、また、symfonyのチュートリアル
 やり直さなきゃなぁ。

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/1113-508ee589
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。