• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックボックス 横並びに保存)

HTMLフォームから複数の選択肢を横並びで保存する方法

このQ&Aのポイント
  • HTMLフォームから複数の選択肢を横並びで保存する方法について説明します。
  • 現在のコードでは、選択された色が縦に並んで保存されています。
  • 横にカンマで仕切られた形式で選択肢を保存するには、Perlスクリプトの書き方を変更する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (424/584)
回答No.1

$FORM{$name} .= (defined $FORM{$name}) ? "," . $value : $value; @value = $value; print WRITE"@value\n"; } の部分を $FORM{$name} .= (defined $FORM{$name}) ? "," . $value : $value; } print WRITE $FORM{'color'}."\n"; close(WRITE); でいいと思います。 print WRITE (defined $FORM{'color'})? $FORM{'color'}."\n":"入力がありません\n"; とやってもいいかな。

spider32
質問者

補足

ありがとうございます。カンマ仕切りで横に記録されていました。 しかし、 yellow,purple,orangeを選んだ際に、 yellow yellow,purple yellow,purple,orange yellow,purple,orange yellow,purple,orange と記録されています。 white,yellow,purple,orangeを選択すると、 white white,yellow white,yellow,purple white,yellow,purple,orange white,yellow,purple,orange white,yellow,purple,orange と保存されているのですが、なぜでしょうか・・よろしくお願いします。

その他の回答 (1)

  • luka3
  • ベストアンサー率72% (424/584)
回答No.2

実際にサイトに設置して試しました。 yellow,purple,orangeを選ぶと、 yellow,purple,orange white,yellow,purple,orangeを選ぶと、 white,yellow,purple,orange と出力されました。 きちんとコピーしましたか? おそらく入力間違いと思われます。

spider32
質問者

お礼

すいません。これは自己解決できました。 $FORM{$name} .= (defined $FORM{$name}) ? "," . $value : $value; } open( WRITE, "> $file" ); print WRITE $FORM{'name'},",",$FORM{'color'}."\n";; close(WRITE); としたら、カンマ仕切りで並びました。大変助かりました。 ありがとうございます。

spider32
質問者

補足

大変お手数おかけしました。 $FORM{$name} .= (defined $FORM{$name}) ? "," . $value : $value; } open( WRITE, "> $file" ); print WRITE $FORM{'color'}."\n"; close(WRITE); できちんと記録されていました。ありがとうございます。 次に、 $FORM{$name} .= (defined $FORM{$name}) ? "," . $value : $value; } open( WRITE, "> $file" ); print WRITE $FORM{'name'}."\n"; print WRITE $FORM{'color'}."\n"; close(WRITE); として、テキストとチェックボックスの両方を取得しようとしたら、 name color1,color2,color3と、 また改行されてしまいます。 重ねた質問で恐縮ですが、よろしくお願いします。

関連するQ&A