• ベストアンサー
  • 困ってます

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

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

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数411
  • ありがとう数3

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

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

input type="text" または textarea に以下をつけます。 onfocus="if(this.value==this.defaultValue)this.value=''" フォーカスがあたるとクリアします。 ただし、値が既に初期値と違う場合はそのまま。(再編集時にはクリアされない) おまけ onblur="if(this.value=='')this.value=this.defaultValue" フォーカスが離れた時、値が空の場合、初期値を再度設定します。 検索窓なんかはこれを付けるといい感じかも。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。ばっちり動きました。

関連するQ&A

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

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

  • テキストボックスにフォーカスを当てる?

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

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

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

その他の回答 (1)

  • 回答No.1
noname#56851
noname#56851

function allclear(here){ here.value=""; } <textarea name="test" rows="" cols="" onfocus="allclear(this)">test</textarea> これでどうですか。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。助かりました。

関連するQ&A

  • フォーカスを一発移動

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

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

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

  • VBのフォーカスの移動について教えてください

    はじめたばかりの初心者ですが、よろしくお願いします。 商品名の一覧のリストボックスを表示し、商品コードを入力するテキストボックスと商品名を表示させるラベルをそれぞれ三つづつ用意し、テキストボックスへ商品コードの入力、またはリストボックスの商品名のクリックでラベルに商品名を表示するようにしたいのですが、まず最初にテキストボックス1にフォーカスを移します。そしてそこでリストボックスの商品名をクリックすると、そこにフォーカスが移ってしまいます。 リストボックスをクリックしたあと、自動的に元のテキストボックス1 (元のフォーカスがテキストボックス2にあったときにはテキストボックス2に) にフォーカスを戻すにはどのようにすればいいのでしょうか。 サンプルコードで教えて頂けたら有難いのですが。

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

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

  • 入力フォームと同種のデータを送信するスクリプト

    パソコン(Windows XP)にActive_Perl Ver5.8.0をインストールしてPerlスクリプトを動かしています。 入力フォームのデータを受け取って処理するスクリプトが既にあるのですが、このスクリプトに入力フォームと同種のデータをループさせて繰り返し送り込むスクリプト作りたいと思っています。 やり方もしくはコード例を教えていただければと存じます。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • javascriptフォームエラーチェックの際のご質問。

    javascriptフォームエラーチェックの際のご質問。 初めまして。 現在、 http://espion.just-size.jp/archives/07/035231221.html で配布されていますフォームエラースプリクトを使用しています。 このフォームエラースクリプトを少しカスタマイズしようと考えたのですが 自分だけではどうにもならなくご質問させていただきます。 今回やりたいことなのですが、 送信ボタンを押した後にエラー項目があったら そのエラー項目入力欄をフォーカスさせたいのです。 おそらく「this.focus();」をどこかに入れたらいいと思ったのですが、 実装できませんでした。 スクリプトソースは長くて貼り付けられないので、配布サイトの実装サンプルURLを記述します。 サンプル http://espion.just-size.jp/files/js/validation/valid.html お分かりになる方がいらっしゃいましたらよろしくお願い致しますm(__)m

  • フォーカスの制御

    VB6.0について質問です。 現在フォームが大きいのでピクチャーにスクロールバーをつけて対応しています。 それにフォーム上をクリックすることでも上下の移動を可能にしています。 しかし入力中(テキストボックス等)に誤ってフォームをクリックしてしまうと フォーカスがピクチャーに移ってしまいます。 TabStopプロパティをEnableにしても変わりません; どのようにしたらフォーカスが固定できますか? 現在のコードは以下のようになっています。 Picture1.TabStop = False If Form.ScaleHeight / 2 - Y < 0 Then Picture1.Top = Form.ScaleHeight / 2 - Y If Picture1.Top < -14500 Then Picture1.Top = -14500 End If Else Picture2.Top = 0 End If

  • マウスを当てたらメニューが出るスクリプト

    マウスを当てたときに下にメニューが出てきて、メニューがリンクになっている場合のスクリプトなどを勉強したいのですが教えていただけないでしょうか? また、サンプルのホームページなどを探しているのですが見つかりません。 どうか教えていただけないでしょうか? お願いします。

  • 投票スクリプトのランキングをソートする方法

     こんにちわ。 今、投票スクリプトを自作中なのですが、ランキング表示をする方法(得票数が多い順に表示させる方法)が自分では思いつかず苦慮しています。  実現させる方法、コードのサンプルなどをご存知の方、ご教授頂けると嬉しいです。

    • ベストアンサー
    • PHP
  • textareでの改行

    ホームページ上のtextareaで入力してもらった情報を取得するCGI(perl)スクリプトを書いています。流れとしては,フォーム上で入力した情報をCGIで取得→確認画面を表示→問題無ければメールフォームとして送信,となっています。 このスクリプト上で問題となっているのが,textareaでは自動的に改行処理(wrap=softと同じ?xhtmlで書いているので,wrap属性は指定していません。)するときに入力される改行コードと,入力者が意図的に入力する改行コードを判別出来ないということです。自動的に挿入される\n(0x0A)を削除しようとスクリプト上で, $text =~s/\r\n/\n/g; $text =~s/\r/\n/g; $text =~s/\n//g; と入れたところ,全ての改行コードが変換処理されてしまい,入力者が意図的に入れた改行コードまで処理されてしまいます。 スクリプト上,もしくはxhtmlと組み合わせて,自動的に挿入される改行コードだけを消去して,意図的に入力した改行コードだけを残す処理は出来ないものでしょうか? phpなどを使うと出来るようですが,ある程度perlのcgiで作成してしまったので,このままで出来ればと思っています。よろしくお願いします。

専門家に質問してみよう