• 締切済み

写真で回答するアンケート

写真で回答するアンケートを作りたいのですが、どのように書いたらよいのかわかりませんので、教えてください。 アンケートで文字で回答してもらう場合には、 氏名:<input name="ans1" /><br> 困った点:<textarea name="ans2" rows="4" cols="40"> 自由に意見を記述してください。そのときの写真を下の箱に入れてください。 </textarea><br> でOKですが、写真を入れる箱に当たる以下の部分にどのように書いたらよいのかわかりません。 困ったときの写真: <IMG SRC="<<ここに記入するHTMLがわかりません>>" WIDTH="120" HEIGHT="84"> 調べたところ、 困ったときの写真:<input type="file" name="ans3" /><br> とすれば、写真ファイルの指定は入力できますが、 入力した写真を、箱に表示することができません。 よろしくお願いします。

  • HTML
  • 回答数1
  • ありがとう数1

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

<p> 氏名:<input name="ans1" value=""> </p> <p> 困った点:<textarea name="ans2" rows="4" cols="40"> 自由に意見を記述してください。そのときの写真を下の箱に入れてください。 </textarea> </p> <p> 困ったときの写真: <input type="file" name="ans3"> </p> でよいです。段落違うので<br>じゃなく<p></p>でマークアップしましょう。内容のない要素の最後が/>になっていますが、それだとXHTMLになります。当然、要素、属性は小文字でなければなりません。  まあ、上記のようにHTMLでかかれるほうが楽でしょう。  このままでは画像は表示されませんから、 1) <form action="[URL]" method="post" enctype="multipart/form-data">  として一旦サーバーに送信して、サーバーの画像処理プログラムでサムネイルを作成して、それを確認画面で  <p><img src="" width="" height="" alt=""></p>  として表示させる。 2) <form action="[URL]" method="post">   デフォルトのenctype="application/x-www-form-urlencoded"になります。  で一旦送信させて、[パスを取得し]確認画面で、 <input type="file" name="ans3" value="[パス]"> <input type="file" name="ans3-1" >  とする。 3) javascriptを用いて、<input type="file">の値を取得して、HTMLソースを書き換える。  などの方法があるでしょう。  (1)が最も楽だと思います。サイズ変更なども含めて、画像処理にimagemagickなどのサーバーサイドのプログラムを使用すると良いでしょう。

iruiru298
質問者

お礼

回答ありがとうございます。 いろいろな解決法があるのですね。 (1)(2)は一旦サーバーに送信するので、手元のPCでは動作確認できませんので、 (3)の方法で、具体的な記載方法、勉強してみます。 ところで、 >3) javascriptを用いて、<input type="file">の値を取得して、HTMLソースを書き換える。 とありますが、 「HTMLソースはクライアントのPCの上でjavascriptにより書き換わる」 と理解してよいのでしょうか? 私の理解では、 ・javascriptはHTML内に埋め込まれたクライアント側で動くプログラム ・PHPは、サーバー側で動く、HTMLソースを出力するプログラム となっていて、それと矛盾するので理解を超えています。

iruiru298
質問者

補足

HTMLファイルと同じ場所にある画像ファイルであれば、以下のHTMLで表示できることがわかりました。 <IMG SRC = document.a.ans4.value WIDTH="120" HEIGHT="84"><br> の「document.a.ans4.value」をこの変数の中身の文字列に置き換えるために、 3行に分割して出力すればよかっただけですね。 ーーーーーーーーーーーーーーー ファイル名の取得 <form name ="a"> 写真を指定してください:<input type="file" name="ans4" /><br> <p> <script type="text/javascript"> document.write("指定したファイルは" + document.a.ans4.value + "\n"); document.write('<br><IMG SRC="'); document.write(document.a.ans4.value); document.write('" WIDTH="120" HEIGHT="84"><br>'); </script> </p> </form>

関連するQ&A

  • ファイル名の取得がうまくいきません

    <input type="file" name="ans4" /> で取得したファイル名を取得する方法がわかりません。 指定したファイル名とそのの画像が表示されるというHTMLプログラムですが、 そのような動作になりません。 確認のため、指定した画像ファイル名を直接書くと、その画像が表示されます。 <form name ="a"> 写真を指定してください:<input type="file" name="ans4" /><br> <IMG SRC = document.a.ans4.value WIDTH="120" HEIGHT="84"><br> document.write("指定したファイルは" + document.a.ans4.value); 確認用に画像を表示<br> <IMG SRC="testFig.jpg" WIDTH="120" HEIGHT="84"><br> </form>

  • JavaScriptでアンケートを作成.。

    JavaScriptでアンケートを作成しました。 IE6.0で送信ボタンを押すとメール画面がでて、アンケート内容が送信できません。 宜しくお願いします。JavaScriptは有効になっています。 <form METHOD="POST" ACTION="mailto:XXX@***.ne.jp?Subject=XXXXX" ENCTYPE="text/plain" onSubmit="alert('ご協力ありがとうございます。')"> ■XXXアンケート: <select NAME="XXXアンケート"> <option VALUE="XXXますか?">XXXますか? <option VALUE="・ほとんどない ">・ほとんどない </select><br> <br> ■XXXの感想:<br> <input TYPE="radio" NAME="XXXの感想" VALUE="XXX">XXX <input TYPE="radio" NAME="XXXの感想" VALUE="XXX-1">XXX-1 <br><br> ■XXXな異変:<br> <input TYPE="radio" NAME="XXXな異変" VALUE=">XXX感じ">感じ <input TYPE="radio" NAME="XXXな異変"VALUE="XXXに痛み">XXXに痛み <br><br> よろしければコメントをどうぞ。<br> <textarea NAME="よろしければコメントをどうぞ。" ROWS="6" COLS="25" WRAP="hard"> </textarea> <br> <input TYPE="submit" VALUE="メールを送る"> <input TYPE="reset" VALUE="やり直し"> </font> </form>

  • textareaの幅を画面と合わせたい

    HTMLのテキストエリアで画面サイズに合わせたいのですが、 何か方法はないでしょうか。 お知恵を貸してください。 <textarea name="addtext" cols="35" rows="25"></textarea> これだと固定になってしまいます。 <textarea name="text" width=30% height=100%></textarea> イメージ的にはこんなことをしたいのです。

    • ベストアンサー
    • HTML
  • テキストエリアの作成法

     下記のような横一列に並んだ3つのテキストエリアを作成しました。Mozilla Firefoxではほぼ期待通り表示されましたが、インターネット・エクスプローラーでは全く表示されません。後者でも表示させるにはどうしたらよいでしょうか。 またテキストエリア内の文章に改行をつけるにはどうしたらよいでしょうか。 <form><p class=MsoNormal><span><TEXTAREA ROWS="13" COLS="70" NAME="textarea1"id=textarea1 style="HEIGHT: 540px; WIDTH: 300px; font-size: 9pt" readonly> 『テキスト』 </TEXTAREA> &nbsp;<TEXTAREA ROWS="13" COLS="70" NAME="textarea1"id=textarea1 style="HEIGHT: 540px; WIDTH: 300px; font-size: 9pt" readonly> 『テキスト』 </TEXTAREA> &nbsp;<TEXTAREA ROWS="13" COLS="70" NAME="textarea1"id=textarea1 style="HEIGHT: 540px; WIDTH: 300px; font-size: 9pt" readonly> 『テキスト』 </TEXTAREA></span></p></form>

  • アンケートフォームについて

    携帯電話からアンケートを送信出来るようにしたいのですが、どういう風にしたらよいか教えて下さい。 初心者ですのでわかり易く説明して頂くと幸いです。 タグは <HTML> <HEAD> <TITLE>登録</TITLE> </HEAD> <BODY> <BR><FORM action="mailto:**@yahoo.co.jp" METHOD="get" enctype="text/plain"> 氏名:<INPUT TYPE=TEXT NAME="name"><BR> メールアドレス:<INPUT TYPE=TEXT NAME="number"> <BR> ホームページURL:<INPUT TYPE=TEXT NAME="number"> <BR> 在住市名<BR> <SELECT NAME="市名"> <OPTION VALUE="○市">○市  <OPTION VALUE="○市">○市  <OPTION VALUE="その他">その他</SELECT><BR> ご意見・ご感想をお寄せ下さい。<BR> <TEXTAREA NAME="感想 rows=" COLS=10 5"></TEXTAREA><BR> <BR> 当サイトを知ったきっかけは?<BR> <INPUT TYPE=RADIO NAME="きっかけ" VALUE="検索">検索サイト<BR> <INPUT TYPE=RADIO NAME="きっかけ" VALUE="友人・知人">友人・知人<BR> <INPUT TYPE=RADIO NAME="きっかけ" VALUE="雑誌">雑誌<BR> <INPUT TYPE=RADIO NAME="きっかけ" VALUE="広告・チラシ">広告・チラシ<BR> <INPUT TYPE=SUBMIT VALUE="送信"><INPUT TYPE=RESET VALUE="やり直し"><BR> </FORM></BODY> </HTML>

    • ベストアンサー
    • CGI
  • javascriptを教えて下さい

    上の欄に文字を入力しボタンを押すと下の欄に表示するhtmlを作りたいと思っております 何回か自力でやってみたのですがわからないのでどのようにするかご教授願いたいです・・・ ソースは <form method="POST" action="検索"> <textarea name="msg" cols="30" rows="10"> ここにメッセージをどうぞ </textarea> <br> <input type=submit value="送信"> <br> <input type=reset value="クリア"> </form> <form method="POST" action="受信"> <textarea name="msg" cols="30" rows="10"> </textarea> </form> このようなふうになってます このままじゃダメでjavascriptを使うということはわかっているのですがどのようにしたらいいかわかりません・・・ 何回か試したのですがうまくいきませんでした 初心者なのでアドバイスお願いします!

  • ボタンをクリックして文字を置換する

    <textarea name="areaA" rows="4" cols="40"></textarea><br> <input type="button" onclick="..."> <textarea name="areaB" rows="4" cols="40"></textarea><br> という風な2つのテキストエリアとボタンを使い、 テキストエリアに文字を書いてもらい、 ボタンを押すと任意の行を置換したいです。 たとえば ------------------ #あああああ いいいいい #ううううう えええええ ------------------ というものを、ボタンを押すと先頭に#がついた行だけ置換して ------------------ <部品1>あああああ<部品2> いいいいい <部品1>ううううう<部品2> えええええ ------------------ という風なscriptを組みたいのですが、正規表現等が苦手でまったくうまくいきません。 ご教授いただけないでしょうか?

  • preg_match_allのバグ?

    改めて質問させていただきます。 <textarea cols=36 rows=15 name="before" wrap="virtual" style="width:320px;height:250px;">方法</textarea> <textarea cols=36 rows=15 name="after" wrap="virtual" style="width:320px;height:250px;">Method </textarea> これを preg_match_allの'/<textarea.*>(.*)<\/textarea>/ms'で二つとも取得するのですが、 他に色々と長い文字列を打ったうえで上記を取得すると何も表示されません。 ちなみに、文字の長さが半角で2820文字以上になると表示されません。 2819未満だとちゃんと取得して表示してくれます。 preg_match_allの関数のマニュアルを見たところそのような仕様は書いてありませんでした。 何かこれを取得できるように解決する方法はありませんでしょうか?

    • 締切済み
    • PHP
  • textareaについて

    textareaに400文字の感想を入力してもらいたいのですが、400文字以上入力することを考え,inputタグと同様にmaxlenght="400"としたいので、400文字以上入力されてしまいます。 <TEXTAREA name="comment" COLS="50" ROWS="5" maxlength="400"></TEXTAREA> textareaではmaxlenghtは効果ないのでしょうか?

    • ベストアンサー
    • HTML
  • テキストエリアの幅を10桁までにしてスクロールさせないようにしたい

    タイトルのままなんですが、可能でしょうか? <textarea name="textarea" cols="40" rows="10">テスト</textarea> あと、テキストエリアに<pre>タグをつけると改行が入ってしまい、 1行分テキストエリアから離れてしまいます・・・。 テストタイトル<br> <pre><textarea name="textarea" cols="40" rows="10">テスト</textarea></pre> すみません、どなたかわかる方いらっしゃいますか? 教えてください(^^

    • ベストアンサー
    • HTML