• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストエリア内の文字列にリンクを付けるには?)

テキストエリア内の文字列にリンクを付けるには?

このQ&Aのポイント
  • Perl初心者はテキストエリア内の文字列にリンクを付ける方法を知りたいです。
  • テキストエリア内に変数の中身を表示させる際に、リンクを正しく表示することができない問題が発生しています。
  • HTMLのフォーム要素であるテキストエリアにリンクを含めた文字列を表示する方法を教えてください。

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

  • ベストアンサー
noname#227796
noname#227796
回答No.2

>では何かうまい手を使って、テキストエリア内の任意の文字列にリンクを張ることはできませんでしょうか? HTMLの仕様に反しているはずなので、やりたいのであれば、ブラウザを改良(改造?)しない限り無理でしょう。 テキストエリアの内容を変更して送信したいとかとなると無理ですが、テキストエリアを使用せずに、似たように表示したいだけなら、インラインフレームを使えばなんとかなりますが。 方法としては、 (1) インラインフレームを使う まず、$disp_dataを出力するCGIを別途作る 出力は、 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=shift_jis"> </HEAD> <BODY> $disp_data </BODY> </HTML> 程度で良いでしょう。 これでリンク部分ができあがり。 ここでは、適当に link.cgi とでもしておきます。 次に、元々のCGIの方でインラインフレームを使用するようにします。 <FORM>~</FORM>の部分を<IFRAME>~</IFRAME>に変更。 <IFRAME src="link.cgi" height=300 width=300> IFRAME対応のブラウザでないと見れません。 </IFRAME> こんな感じで、srcに先のlink.cgiを指定します。 見た目は、テキストエリアに近いと思いますが、IFRAMEを使えないブラウザもあるので注意が必要です。 どちらかというと、こちらの方が素直なやり方でしょう。 ※クリックされたときに、フォームで何か送信したいのだとしたら、内容をHIDDENでセットしておき、アンカータグにonclickイベントを設けて、フォームをsubmitさせれば良いでしょう。 (2) テキストエリアをクリックしたら・・・ テキストエリアでトリッキーなことをします。 <TEXTAREA onclick="window.open('$wwwstr','new','');" style="text-decoration:underline;">(WWW)</TEXTAREA> フォント色は帰られないと思いますが、下線を引いてリンクっぽく見せる。 テキストエリアがクリックされたら、リンク先に飛ばす。 window.openでなく、location.hrefでも良いですが。 まあ、こんなサイトがあったら、私は二度と見に行かないような気がしますが(笑)

tonka729
質問者

お礼

I am alive 様、お礼が遅れてしまい、申し訳ありません。(1)の方法でまず途中までできました。途中まで、ともうしますのは、先回、(1)のうしろに書き添えて下さった; ※クリックされたときに、フォームで何か送信したいのだとしたら、内容をHIDDENでセットしておき、アンカータグにonclickイベントを設けて、フォームをsubmitさせれば良いでしょう。 --これが初心者の私にできたらすごい!と予感させてはくれるのですが、力不足でプログラムができません。<FORM action="zzz.cgi" name=ancherFORM><INPUT type=HIDDEN...</FORM> と<A href=xx onclick=submit() >文字列</A> などとまだ頭の中で考えているうちどんどん日数が経ってしまい、ご返事するのが遅れあわてております。 どうも<FORM..>以下いまいち見通しが立ちません。アドバイスをいただければ幸いです。

その他の回答 (1)

noname#227796
noname#227796
回答No.1

<TEXTAREA>~</TEXTARE>で囲まれたテキストは、そのまま表示されます。 Perlではなく、普通にHTMLで書いてみればわかります。 <TEXTAREA><a href="URL">(WWW)<a></TEXTAREA> ↑これだと、テキストエリアの中に、 <a href="URL">(WWW)<a> と表示されるはず。 テキストエリアの中でリンクは張れません。 http://tohoho.wakusei.ne.jp/html/textarea.htm

参考URL:
http://tohoho.wakusei.ne.jp/html/textarea.htm
tonka729
質問者

お礼

ありがとうございました。では何かうまい手を使って、テキストエリア内の任意の文字列にリンクを張ることはできませんでしょうか?アイディアが浮かびません。お知恵を拝借できれば有り難いのですが。。。

関連するQ&A