• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:このようなテキストフィールドがつくりたいのですが)

テキストフィールドの作成と設定方法

このQ&Aのポイント
  • テキストフィールドを作成するための方法や設定方法について、詳しく説明します。
  • テキストフィールド内の初期テキストの設定や、クリックした際に初期テキストを自動削除する方法について解説します。
  • テキストフィールド内の文字色の設定方法や、関連情報の検索方法についてもご紹介します。

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

ご提示のページは「JQuery」という有名なJavascriptのライブラリーとCSSを使って実現しています。 <input class="rdemail text passive" type="text" name="rdemail"/> のソース部分を探ってみると、 129 var mailFormat = /^[\+\-_a-zA-Z0-9][a-zA-Z0-9\?\+\-\._\/]*\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/; 130 var regComment = '(メールアドレスを入力)'; 131 132 $( '.reg input.rdemail, .del input.rdemail' ).val( regComment ); 133 $( 'input.rdemail' ).addClass( 'passive' ); 134 $( 'input.rdemail' ).focus( function() { 135 $( this ).removeClass( 'passive' ); 136 var rdemail = $( this ).val(); 137 if( rdemail == regComment ) { 138 $( this ).val( '' ); 139 } 140 }); 141 $( '.reg input.rdemail, .del input.rdemail' ).blur( function() { 142 var rdemail = $( this ).val(); 143 if ( rdemail == '' ) { 144 $( this ).val( regComment ).addClass( 'passive' ); 145 } 146 }); 147 $( 'form' ).submit( function(){ 148 var rdemailObj = $( '.rdemail', this ); 149 if ( ! ( rdemailObj ).size() ) return true; 150 var rdemail = rdemailObj.val(); 151 if ( rdemail == '' || rdemail == regComment ) { 152 alert( 'メールアドレスを入力してください。' ); 153 rdemailObj.focus(); 154 return false; 155 } else if ( rdemail.search( mailFormat ) ){ 156 alert( 'メールアドレスの書式が不正です。' ); 157 rdemailObj.focus(); 158 return false; 159 } 160 }); こうなっています。マウスがrdemailクラスのinputタグにフォーカスした時、value値や追加のクラスを消したり追加したりして実現してます。 この部分だけなら、JQuery使わなくてもJavaScriptとCSSで比較的簡単に 実現できると思いますが、そのためにはJavaScriptの知識が不可欠です。

m-----c
質問者

お礼

Javascriptだったのですか。。 完全に専門分野外なので今回は諦める事にしますが 今後「JQuery」に関しては知識として勉強してみます。 無駄はしません。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A