▼スレッド
│
└◇953:Re[2]:補足の御手伝い [ミル] 02/22 03:22
└◇954:便乗質問 [ミル] 02/22 03:27
└◇955:Re:複数行テキストボックス [moon] 02/22 13:11
└◇957:Re[2]:複数行テキストボックス [ミル] 02/24 21:28
└◇958:Re[3]:複数行テキストボックス [moon] 02/24 21:52
└◇959:Re[4]:補足 [moon] 02/24 22:00
└◇960:Re[5]:補足 [ミル] 02/25 18:01
└◇961:Re[6]:補足 [moon] 02/25 22:16
└◇962:Re[7]:補足 [ミル] 02/26 13:05
├◇963:Re[8]:補足 [moon] 02/26 18:56
└◇964:階層が深いのでこちらに [ミル] 02/27 12:39<-last
申し訳ありません。お酒が入ってるのでちょっと馴れ馴れしかったかもしれません。スレッド一覧
不快に思ったなら削除します。ごめんなさい。
まともな書き込みしろっての。てへへ
少し気になったことを質問させてください。スレッド一覧
コメント変更の部分や詩を書き込むときの部分のテキストエリア。これは通常横に一行ですが、掲示板での書き込みの時のように何行かにするにはどうすればよいのでしょうか?
&input〜と記述されているので、どこをどうすればよいのか分からず頭を抱えていました(只今は酔っ払い中
もしよかったら教えてください。お願いします
> 少し気になったことを質問させてください。スレッド一覧
>
> コメント変更の部分や詩を書き込むときの部分のテキストエリア。これは通常横に一行ですが、掲示板での書き込みの時のように何行かにするにはどうすればよいのでしょうか?
>
> &input〜と記述されているので、どこをどうすればよいのか分からず頭を抱えていました(只今は酔っ払い中
>
> もしよかったら教えてください。お願いします
&input('text',〜);となっているところを、printで「<textarea 要素名やサイズなど>内容</textarea>」を出力するような処理に置換すれば複数行に出来ます。
>ヒサヤ様スレッド一覧
理解できました。ありがとうございます。
とても礼儀正しい方ですね。誠実さが伝わってくるようです。
>moon様
どうやってtextareaの内容を$cmに代入すれば良いのかが分かりません……。
と、com_afterの方を見てみたらしっかり代入してありました^^;
恐らくname=****と指定をすれば勝手に読み込んでくれると思い、afterの方で代入していたのがcomだったので
name=comとし、やってみたらちゃんと反映されました。
で、textareaの内容に今のコメント文を表示させるので内容の部分に$cmを入れて
print qq|<textarea rows=5 cols=60 name=com>$cm</textarea>|;
と言った様にしたらちゃんと作動しました。バッチリです!
本当にありがとうございました!
> どうやってtextareaの内容を$cmに代入すれば良いのかが分かりません……。スレッド一覧
>
> と、com_afterの方を見てみたらしっかり代入してありました^^;
> 恐らくname=****と指定をすれば勝手に読み込んでくれると思い、afterの方で代入していたのがcomだったので
> name=comとし、やってみたらちゃんと反映されました。
> で、textareaの内容に今のコメント文を表示させるので内容の部分に$cmを入れて
> print qq|<textarea rows=5 cols=60 name=com>$cm</textarea>|;
>
> と言った様にしたらちゃんと作動しました。バッチリです!
改行処理を追加しましたでしょうか?
例えば改行の置換文字を:BR:とした場合は、com_beforeのほうでは表示前に、
($tmp = $cm) =~ /:BR:/\n/g;
を実行してprint qq|<textarea name=com rows=5 cols=60>\n$tmp</textarea>|;
com_afterではuserout前に、
($cm = $Fm{'com'}) =~ s/<br>/:BR:/g;
> 改行処理を追加しましたでしょうか?スレッド一覧
> 例えば改行の置換文字を:BR:とした場合は、com_beforeのほうでは表示前に、
> ($tmp = $cm) =~ /:BR:/\n/g;
> を実行してprint qq|<textarea name=com rows=5 cols=60>\n$tmp</textarea>|;
> com_afterではuserout前に、
> ($cm = $Fm{'com'}) =~ s/<br>/:BR:/g;
'<'や'>'がユーザデータに入らないように:BR:としましたが、<br>と入っても良いなら、
・($tmp = $cm) =~ /:BR:/\n/g;の:BR:を<br>に。
・($cm = $Fm{'com'}) =~ s/<br>/:BR:/g;はいらない。
でも良いだろうと思います。
# <br>のままで良いとすればコメントの表示時に余計な置換をしなくても大丈夫なので先ほど書いたものより良いかもしれません。
うぅぅぅーむぅ。スレッド一覧
言われたとおりにやってみましたが、ローカルでエラーが出るばかりでした……。
改行処理は私のとこでは必要は無いと思います。:BR:で改行!と言う風に何度も言っていく予定(まだサイト公開してません;)なので、自動改行してしまったら多少混乱すると思うので。(生意気な口聞いてごめんなさい)
実際にはどんな処理をしたのでしょうか?
($tmp = $cm) =~ /:BR:/\n/g;
ここの部分が良く理解できなかったので……
> 改行処理は私のとこでは必要は無いと思います。:BR:で改行!と言う風に何度も言っていく予定(まだサイト公開してません;)なので、自動改行してしまったら多少混乱すると思うので。(生意気な口聞いてごめんなさい)スレッド一覧
ちょっと勘違いをなさっているのではないでしょうか?
先に書いた「改行処理」の意味はテキストボックス上の改行(\n)とCGI上の改行(<br>)が異なるのでこれを変換する処理ということなのですが・・・。
> 実際にはどんな処理をしたのでしょうか?
> ($tmp = $cm) =~ /:BR:/\n/g;
> ここの部分が良く理解できなかったので……
分解すると、
$tmp = $cm;
$tmp =~ s/:BR:/\n/g;
です。
要するに$cmのデータを変えずに:BR:を\nに置換しているだけです。
> ちょっと勘違いをなさっているのではないでしょうか?スレッド一覧
> 先に書いた「改行処理」の意味はテキストボックス上の改行(\n)とCGI上の改行(<br>)が異なるのでこれを変換する処理ということなのですが・・・。
いえ。勘違いはしてないと思います^^;
テキストエリアでは改行は反映されないとして、:BR:と言う改行タグを使ってくださいと呼びかけるつもりだったんですね。
ですが……やっぱり何度やってもエラーが出てしまいます。
near "/
/\
とエラーが出ているのですが、変なところで改行(/と/の間です)が行われているあたり、絶対/\n/が怪しいと思うのですが何をすればよいのやら……。
> いえ。勘違いはしてないと思います^^;スレッド一覧
> テキストエリアでは改行は反映されないとして、:BR:と言う改行タグを使ってくださいと呼びかけるつもりだったんですね。
反映されないのはそうなのですが何も置換処理をしないと<br>というゴミが付くことになると思いますよ。
> ですが……やっぱり何度やってもエラーが出てしまいます。
> near "/
> /\
> とエラーが出ているのですが、変なところで改行(/と/の間です)が行われているあたり、絶対/\n/が怪しいと思うのですが何をすればよいのやら……。
見直してみましたら/の前のsが抜けていました。
これを修正すれば大丈夫だと思います。
なるほど……。sを加えたらバッチリでした。スレッド一覧
置換は覚えていたのにこちらも気付きませんで……申し訳ないです。
確かに、変更する前にコメントを変えようとしたら<br>がズラリ……。これではよくないですね^^;
ありがとうございました!