• ベストアンサー

フォーカスすると初期値の一部分だけが消去されるスクリプト

マウスでフォーカスするとtextarea等に記入されている初期値 (「ここに名前を記入」・・・等々)が消える入力フォームをよく見かけますが、今回、初期値の一部分だけを消去させたいと思っております。 具体的には ・以下に必要事項を入力してください ・名前 ・住所 という初期値があるとして、フォーカスすると ・以下に必要事項を入力してください のみを消去させるスクリプトです。 これを実現するスクリプトコードもしくはサンプルのurlを教えて頂けませんでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

#1さんのスクリプトはまさにおっしゃっている命題のとおりになっていますが、 なにがどういけないのでしょうか? あえてやるなら、以下のようなやり方もあるかとは思いますが・・・。 <script> function hoge(obj){ var v=obj.value v=v.replace(/\r\n/,"\n"); v=v.replace(/・以下に必要事項を入力してください\n/,""); obj.value=v; } </script> <textarea onfocus="hoge(this)"> ・以下に必要事項を入力してください ・名前 ・住所 </textarea>

osama_vin_ladin
質問者

お礼

こういうことなんです。ばっちり動きました。ありがとうございます。

その他の回答 (1)

回答No.1

簡単ですよ。 こんな感じですか? <textarea onfocus=" this.value = '・名前\n・住所\n'"> ・以下に必要事項を入力してください ・名前 ・住所 </textarea> JavaScriptは基本的にすべてソースが公開されてますので、ブラウザのソースを見るで見れば良いと思います。

osama_vin_ladin
質問者

補足

すみません。ちょっと質問の文章が稚拙でした。 <textarea onfocus=" this.value = '・名前\n・住所\n'"> ・以下に必要事項を入力してください ・名前 ・住所 </textarea> これですと、onfocusで・名前\n・住所\nを表示させるのですが、 望んでいるのは「onfocusで 所定の文章を消す」という動作をやりたいのです。お手数ですがよろしくお願いいたします。

関連するQ&A

  • フォーカスすると初期値が消去されるスクリプト

    マウスでフォーカスするとtextarea等に記入されている初期値 (「ここに名前を記入」・・・等々) が消える入力フォームをよく見かけますが、あれを実現するスクリプトコードもしくはサンプルのurlを教えて頂けませんでしょうか。 よろしくお願いいたします。

  • Windowsアプリケーションのフォームのフォーカスについて

    Windowsアプリケーションのフォームのフォーカスについて Windowsフォームアプリケーションを、C/C++で作成しています。 開発環境:Visual C++ 2008 Express Edition OS:WindowsXP テキストボックスに入力され、 フォーカスアウトした時に入力値の判定し、 偽だった時はボタンを非アクティブにする処理を実装しています。 しかし、タブ移動でのフォーカスアウトは可能なのですが、 フォームにマウスクリックした時にフォーカスが変わりません。 フォームにフォーカスを持たせることはできないのでしょうか? また、何か良い方法があったら教えていただけると幸いです。 宜しくお願いします。

  • フォーカスを一発移動

    いくつか窓を開いて作業中、決まったところ(座標は一定ではありません)に入力するとき、マウスでアクティブにしてから入力するのですが、これが頻繁にするときは大変です。 そこで、そのフォーカスを移動するアクションを一発で出来ないモノでしょうか? マウスのサイドボタンやキーなどに割り当てて登録した場所にマウスが移動するとか、アクティブになるとか出来ると便利かなと思いました。 付け加えますと、後ろに隠れたウィンドを前に出すとかではありません。 あくまで入力フォームをアクティブにして、その欄にすぐに入力可能にしてくれる動作です。 希望の動作をしてくれるようなソフトをご存じでしたら、よろしくお願いいたします。

  • フォーカスを合わせる

    <a href="javascript:onclick_event1();" class="subMenu" tabindex="1" name="event1">イベント1</a> <a href="javascript:onclick_event2();" class="subMenu" tabindex="2">イベント2</a> ウインドオープン時に「イベント1」にフォーカスを あてたいのですが、、、 </form>前に以下の記入では駄目でしょうか? <script language="javascript"> <!-- document.fm.111.focus(); //--> </script>

  • focus()が上手くいかない

    困っています、助けてください。 フォームのテキストボックスの入力された文字数をチェックし、 サイズオーバーなら、アラートを表示し、テキストボックスにフォーカスを移動させたい。 のですが、上手く動いてくれません。 コードは次の通りです。どこがおかしいのか?どうすれば改善できるのか? 教えてください。 <form method="post" action="#"> <input type="text" name="fmTitle" onBlur="checkText(this)"> </form> <script type="text/javascript"> <!-- function checkText(aText) { if (aText.value.length > 100) { alert('サイズオーバーです'); aText.focus(); } } //--> </script>

  • テキストエリアをenterキーでフォーカス移動したい

    複数あるテキストエリア間を、enterキーでフォーカス移動をしたいです。 以下のようにしましたが、2つめのテキストエリアへフォーカス移動すると、改行が入力され、カーソルが2行目へ移動してしまいます。 enterキーを押しているのでこうなってしまうと思うのですが、 カーソルが1行目へ移動するようにするには、どうしたらいいでしょうか? フォーカス移動後に改行コードがあったら、""にreplaceする・・等、試してみたのですが、なかなか上手くいきません。 どなたかお分かりになる方がいらっしゃったら、教えてください。 <HTML> <HEAD> <SCRIPT language="JavaScript"> <!-- function FirstFocus() { document.forms.F1.elements[0].focus(); } function nextFocus(n) { if (event.keyCode == 13) { for (var i = 0, f = n.form.elements; i < f.length; i++) { if (f[i] == n) { (f[i + 1] || f[0]).focus(); } } } } //--> </SCRIPT> </HEAD> <BODY onload="FirstFocus()"> <FORM name="F1"> <TEXTAREA name="T1" rows="5" cols="30" onkeydown="nextFocus(this);"></TEXTAREA><BR> <TEXTAREA name="T2" rows="5" cols="30" onkeydown="nextFocus(this);"></TEXTAREA><BR> <TEXTAREA name="T3" rows="5" cols="30"></TEXTAREA><BR> </FORM> </BODY> </HTML>

  • フォームの入力途中でのプレビューについて

    フォームの入力途中でのプレビューについて質問させてください。 以下のようなフォームがあります。 <form action="sample.php" method="post"> <textarea rows="2" cols="50" name="aaa"></textarea> <input type="submit" value="プレビューする"> <textarea rows="2" cols="50" name="bbb"></textarea> <input type="submit" value="送る"> </form> このフォームの途中の「プレビューする」を押すとそれ以前の入力項目の内容である"aaa"をsample.phpではなく別のphpに送ってプレビューしたいと思っています。 最後の"送る"ボタンを押すとすべての内容がsample.phpに送られます。 このようにフォームの途中でformのaction属性に指定したところとは別のphpに値を送ってプレビューするようなことは可能でしょうか? 解決方法を御存知の方がいらっしゃいましたらよろしくお願いします。 また、他の方法によってフォームの記入内容の途中までをプレビューする”ことが実現可能であるようであればその方法も教えていただけると幸いです。よろしくお願いいたします。

    • 締切済み
    • PHP
  • テキストボックスにフォーカスを当てる?

    こんばんは,すみませんよろしくお願いします。 テキストボックスにフォーカスを当てるには,例えば, TextBox1.SetFocus のようにするんだと思うのですが,テキストボックスに初期値が設定されていたときには,上記のようにすると,初期値のテキストの右側に線のようなポインタがテキストコントロール内にでてきます。 しかし,このような状態では,いったん初期値を消さないと,別の値に書き換えることは出来ません。 テキストコントロール内に初期の値として,何らかのテキストが入力されているとき,文字列が選択された状態になっていれば,即,別の値を入力することが出来ますので,ユーザーフォームをshowしたときに,テキストボックス内の初期値 (例えば,「ここに名前を入力してください」などの文字列) を選択した状態にしたいのです。どのようにすれば良いのでしょうか?何度もすみません。

  • VB6 ユーザーコントロールのフォーカス無効

    現在VB6 SP5にて、テンキーのようなユーザーコントロールを作成しています。 コマンドボタンを配置し、押された場合にキーボードの入力をエミュレートするような作りにしています。 問題は、作成したコントロールをフォームに貼り付けて使用する場合に、マウスでクリックしたキーに応じて、現在フォーカスのあるテキストボックスなどに入力したいのですが、ユーザーコントロールのコマンドボタンにフォーカスが移ってしまい、うまくいきません。 ユーザーコントロールのCanGetFocusプロパティをFalseに設定しようとすると、「フォーカスを取得できないコントロール上に配置された子コントロールは、フォーカスを取得することができません。」とエラーが表示されてFalseにできません。 フォーカスを無効にし、このような機能を実現するには何か良い方法ありますでしょうか?

  • エクセルのマクロでフォームを起動したときのフォーカス

    はじめまして。 表題の件ですが、 エクセルのマクロでフォームを作成し、 データ入力をしようとしています。 フォームを入力する際 一番最初に 使用するのはテキストボックスなのですが 起動する際 フォーカス位置はボタンで 一回テキストボックスをクリックしないと フォーカスが移動しません。 起動したときにテキストボックスに初期フォーカスを設定する方法を 教えて頂けませんでしょうか。 どうぞよろしくお願い致します。