**[[続・質問箱/423]] [#u4fcb7a3]
#author("2018-03-11T14:19:39+09:00;2004-11-07T20:51:49+09:00","","")
**[[質問箱/2423]] [#u4fcb7a3]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|チェックボックスを使ったformの実現|
|~バージョン|1.4.3|
|~投稿者|[[ks]]|
|~状態|完了|
|~投稿日|&new{2004-11-07 (日) 04:06:33};|
***質問 [#l944f75b]
複数のcheckboxを使用することは出来ないのでしょうか??

現在、アンケートプラグインを作成してみたいと思っています。
名前記入してもらい、選択肢の中から複数選択可能な項目に対してチェックをつけてもらうプラグインです(忘年会に出席可能な日付をチェックつけてもらうイメージです)。~
checkboxを使用するのが良いだろうと考えましたが、複数のcheckboxを使用されたプラグインはあまりない様です。

おそらく、plugin_*_action()関数の中で、checkboxに対応する変数を受け取れないのが問題なのではないかと思われます。
いくつかのテストをしてみて分かったのですが、checkboxを使用する場合、chkという変数に対して、複数の値をわたすことになります(ex. http://aaa.com/post.php?chk=a&chk=b&chk=c)。しかし、plugin_*_action()ではひとつしか受け取れず、例の場合では、vars['chk']はcになってしまいます。

これらの変数をすべて受け取る方法はありますでしょうか?~
(できれば、trackerのような、手の込んだ仕組みにはしたくありません。というよりも、ソースを読みこなせませんでした。(^_^;)

(post or getを使用した場合、2次元配列の使用が可能かどうか、とも言い換えられるかも知れません。)
***回答 [#o23aed05]
-チェックボックスのグルーピングと、そのグループ内の項目などのことを考えると、chk_1_1,chk_1_2,chk_1_3,chk_2_1,chk_2_2 などのようにすればよいのだろうと思います。あとは、vars を foreach ででも回して、数えるんでしょうね。-- [[upk]] &new{2004-11-07 (日) 04:57:31};
-「http://aaa.com/post.php?chk[]=a&chk[]=b&chk[]=c」とすれば$vars['chk']がarrayになるはずです。確か。あと、checkboxを使ったプラグインは[[こちらに:http://www.elfen.instat.ne.jp/~pukiwiki/pukiwiki.php?cmd=read&page=%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Fsform.inc.php]](ソースは公開されていませんが)。 --  &new{2004-11-07 (日) 13:36:07};
-ありがとうございます!いろいろ試してみたところ、chk[]とすることで解決できました。せっかくですので、作成したプラグインを公開してみます(comment pluginの焼き直しですが(^_^;)。[[checkbox plugin 公開ページ:http://kenstar.org/~kenstar/pukiwiki/pukiwiki.php?checkbox]]です。  -- [[ks]] &new{2004-11-07 (日) 20:19:28};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.103 sec.

OSDN