本日は前日の続きをやります。前日はレイアウトを変えずに挿入することができたので先に進もうと思ったのですが、確認画面のときに入力の枠が残ってるや確認画面なのに文字が打ち込めてしまうなどちょっとした問題があり、それらを先に解決しようと思います。入力の枠を消す方法はCSSでやっていたのでここは問題なくできました。次に文字が打ち込めてしまう原因はinputタグをそのまま使っているので文字が入力できてしまっている状態なので、そこに「readonly」という属性を付けてあげることにより、「読み出し専用指定」をすることができます。この二つをやることでより確認画面に近くなっていきました。
しかし、実は意外な問題がまだ隠されていたのです。それはtextareaの問題です。入力画面のコメントする所で文字がどのぐらい書けるのかを試しにやってみたら、文字が途中できれているではありませんか。50文字ぐらい打ったはずなのに10文字ぐらいしか表示されておらず、表示されている最後の文字が半分に割れている状態です。textareaのcols,rowsのサイズが小さいのではないかと思い、サイズを大きくしてもう一回入力してみたところ、他の周りのサイズも広がってしまい、文字が増えてはいるのですが数文字が増えているだけで余計に変な事になってしまいました。ちなみにテキストエリアのソースはこのような感じになっていました。
<textarea style="border:none" name="example1" cols="50" rows="8" value="<?php print htmlspecialchars($example1, ENT_QUOTES); ?>"readonly></textarea>
こんな感じになっていて氏名などと同じにしているのでこれでおkなはずなのですが。。。
textareaで検索し、改行する方法などを調べいろいろと試したのですが全然直る気配がありません。またしても壁に当たってしまい、どうしたらいいものかと。すると何気なく見ていたサイトにこんな事が書いてありました。「テキストエリアでは属性を使うのではなくtextarea要素のコンテンツとして初期値を記述します」と。どういう事かというと、テキストエリアでは初期値を設定するときには属性(value)を使うのではなく、<textarea>~</textarea>の間に<?php print 変数; ?>を入れてあげることによって初期値が設定されるようです。なのでこの方法で記述してあげるときちんと表示されるようになりました。あとは江口さんが作ってくれたチェックボックスのif文を合わせたら確認画面は完成です。あとは、この情報を指定の所に送信されるように設定し、完了画面を作るだけになります。本日はここで終了です。明日は最後の仕上げになります。
11月21日 宮本 勇