• 締切済み

フォームのテキストをリンク化するjavascript

ブログ等で利用されている、フォームのテキストにリンクをつけるjavascriptを教えてください。 (詳細) フォームのテキストを選択し、ボタンを押すとURLを入力するwindowが開くjavascript よろしくお願いします。

みんなの回答

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.3

以下、サンプルです。 IE6とFirefox(いずれもWin版)では動きましたが、他のブラウザではどうかわかりません。 <html> <head> <title></title> <script type="text/javascript"> <!-- function MakeAnchor(Oid){ var O = document.getElementById(Oid); if(! O)return; var Str; if(document.selection){ Str = document.selection.createRange().text } else if(O.selectionStart){ Str = O.value.substring(O.selectionStart,O.selectionEnd); } if(! Str) return; var URL = prompt('URL:','http://'); if(! URL) return; var SStr = '<a href="'+URL+'">'+Str+'<'+'/a>'; if(document.selection){ document.selection.createRange().text = SStr; } else { var SStart = O.selectionStart; var SEnd = O.selectionEnd; O.value = O.value.substring(0,SStart) + SStr + O.value.substring(SEnd,O.value.length); O.setSelectionRange(SStart,SEnd + SStr.length -Str.length); O.focus(); } } //--> </script> </head> <body> <form> <textarea id="TA01" cols=60 rows=10></textarea> </form> <input type="button" value="→&lt;A&gt;" onclick="MakeAnchor('TA01')"> </body> </html>

  • taseki
  • ベストアンサー率66% (155/233)
回答No.2

私も、ご質問の意味がちょっとよく解らなかったので推測ですが、 <INPUT TYPE="text">や<TEXTAREA>などテキストボックスの中で、たとえば「私のサイト」などという文字列を選択した状態で、ボタンをクリックするとURLを聞かれて入力し、その結果、「私のサイト」という部分がリンクテキストになった全文が完成する、というようなイメージですか? URLを尋ねるウィンドウ(ダイアログボックス)を開くのは window.prompt() 文で可能なので、今選択中のテキストをjavascriptで取得する方法ですよね。 var txtR = document.selection.createRange(); alert(txtR.text); で取得できると思います。

回答No.1

すいませんが、もうちょっと詳しくお願いできないでしょうか? >フォームのテキストを選択し、 このフォームのテキストというのは、 <INPUT TYPE="text">の事でしょうか? それとも平文の事でしょうか? また選択するというのはどういう事でしょう? <INPUT TYPE="text">の場合はフォーカスを宛てる (入力できる状態にする)という事ですか? 平文の場合は、ドラッグして色が反転している 状態の事でしょうか? >ボタンを押すとURLを入力するwindowが開く URLを入力するwindowというのはどういった物ですか? 通常のブラウザにはURL入力欄がありますが そういった物ではなく、<INPUT TYPE="text">などに 入力するwindowの事でしょうか? また、この開くwindowは選択したテキストと どのような関係があるのでしょう? 以上お願いします。

関連するQ&A

  • Javascriptで、フォームボタン押下(submit)せず、リンクURLを書き換える

     javascriptで、  1.フォームのテキストボックスに入れられた値を取得し、   例)テキストボックス入力 ; test  2.元々記述されているリンクURLをユーザがクリックした時、   例)元々のリンクURL ; <a href="www.google.co.jo?q= ~...  3."1"のテキストボックス内に記述された値を取得して、"2"のURLを書き換え、   例)テキストボックス内の文字をURLの一部に追記する ; <a href="www.google.co.jo?q=test  ~...  4.書き換えられた後のURLにユーザを飛ばす、  ・・・という事って出来るんでしょうか。  上記動作内でユーザの動作は、   テキストボックスに文字を入れる、という動作と、   リンクをクリックする、という動作のみです。  フォームのボタン押下後、というのであれば出来たんですが、上記の様な動作のコードが思い浮かびません・・・。PHPとかCGIではなく、Javascriptで何とか出来ないでしょうか。  お知恵拝借、よろしくお願いします。

  • テキストフォームに入力したところへリンク

    タイトルのまんまです javascriptは初心者なのですが、初心者なりに色々やってみましたがわかりませんでした...↓↓ たとえばテキストフォームにtestと入力してボタンを押すと http://www.geocities.jp/test.html に飛ぶような感じです よろしくお願いします

  • javascriptで、外部テキストにてリンク変更

    javascriptにて、例えばボタンがあったとして そのボタンのリンク先を、外部テキストから指定するには どういったスクリプトを組めばいいのでしょうか? つまりは、定期的にリンク先を更新したい部分があるのですが、 その部分を更新しやすい(初心者でも簡単にできるよう) ように、テキストへURLを貼り付け、そのテキストファイルを サーバー上へアップするだけで、html上に配置されたボタンの リンク先が変更されるという仕組みにしたいのです。 どうかよろしくお願いいたします。

  • javascriptでフォームに値を渡す

    javascriptでサブウィンドウを開き、親ページにあるフォームの値をサブウィンドウのテキストフィールドに渡す方法で複数項目がある場合、下記URLのようにラジオボタンならうまくいったのですが ラジオボタンなしで、ボタンを押すと直接その値をサブウィンドウに渡す方法はないでしょうか? 複数項目ある値をサブウィンドウに渡す(ラジオボタン) http://ausdruck.flier.jp/test/window11/oya_11.html 上記URLの方法ならうまくいったのですが下記URLのようにボタンを押してその値を 直接サブウィンドウに渡したいとおもっています。 http://ausdruck.flier.jp/test/window3/oya.html ▲こちらのイメージで渡したいのですが、複数項目があるとうまくいきません。

  • JavaScriptでのクリックやフォームについて

    いままでVBSで該当URLへとび、フォーム入力の自動化を行なっていたのですが、 JavaScriptでも似たようなことをしようと思い、 htmlファイルのscriptタグにて、location.hrefで該当URLへとび、 getElementByIdでID取得をしようと思ったのですが、なにも起こらずその後、解決策が見つからず困っています。 location.hrefでリンク先にとんだからといって、 そのページのソースコードを取得しているわけではないのでしょうか? そもそもVBSと同様に該当URLにとんで、フォームのIDなどを取得、フォーム入力という流れを Javascriptでも可能なのでしょうか? どうぞご回答のほどよろしくお願いいたします。

  • Javascriptフォーム形成

    javascriptを使って入力フォームを形成しようと考えています。 PHPからテキストボックスの数を8、テキストエリアの数を6と送って8それぞれの入力フォームを作成したいです。動的にフォーム形成したいです。 こんなことできますかね? 教えて下さい。よろしくお願いします。

  • javascriptによる条件分岐についてご質問で

    当方、javascriptに関してはほとんど無知のため お教えいただければと思っているのですが、 行いたいことは、以下のとおりです。 まずラジオボタンでA・Bのいずれかを選択します。 その後、テキストエリアにこちらが指定したコード(キャンペーンコードみたいなもの) を入力してもらいます。 ラジオボタンで選択したものと入力コードの 組み合わせによって、送信先(リンク先)が変更する といったようなフォームをつくりたいとおもっているのですが こういうフォームはjavascriptでも実装可能でしょうか? この質問コーナーも初めて使うので、もし無礼あれば申しつけください。 皆様、よろしくお願い致します。

  • リンクを押すとフォームを送信

    リンクを押すとフォームを送信したいので、 <a href="JavaScript:document.form1.submit()"・・・ というふうに、書いたのですが、 リンクのみだとちゃんと動くのですが、 同一フォーム内にボタンとリンクが混在するとJavaScriptエラーが発生してしまします。どうしたらいいでしょうか?

    • ベストアンサー
    • HTML
  • テキストBOXの情報をもとにリンクさせる方法

    ボタンを押したら、テキストBOXに入力された情報をもとに、 新しいwindowにリンクさせる方法を教えてほしいのですが・・・。 『?????』の部分にテキストBOXから入力された情報を入れたいのです。 ちなみに、リンクさせたい場所は、自分のPCのtestというフォルダのファイルです。 <input type="button" name="show" value="表示" onClick="show()"> <SCRIPT LANGUAGE="JavaScript"> <!-- function show(){ window.open("/test/?????.jpg","") } //--> </SCRIPT>

  • javascriptでクリックしたリンクテキストを取得するには?

    javascriptを用いてクリックしたリンクのテキストを取得するにはどうすればいいでしょうか? ページ読み込み時(onload)にリンクにonClickイベントをつけてクリックしたときにurlなどを取得することはできるのですが、リンクテキストをどうしても取得できません。 ページ内のそれぞれのリンクタグにそれぞれ異なるid要素をつけられればよさそうなのですが。。。 ページ内のリンクタグにidがついていないことしてください。

専門家に質問してみよう