2011-01-05 12 views
5

フォームフィールドに色の枠線を追加しようとしていますが、ユーザーがフィールドをクリックしたときに、htmlやjavascriptを使用していて、少しPHPがありますが、CSSは実際には非常に貧弱です。フォームなどのコードは以下のとおりです。もし誰かが私を指示したり助けてくれたら、本当に感謝しています。 CODE:ボーダーカラーを変更するためのフォーム入力用のonfocus?

<form id="search" action="http://www.bkslap.com/search/results.php" id="cse-search-box"> 
<input name="q" type="text" id="q" autocomplete="on" size="56" style="color:#ccc;" maxlength="128" id="q" 
onblur="this.value = this.value || this.defaultValue; this.style.color = '#ccc';" 
onfocus="this.value=''; this.style.color = '#9933FF';" 
value="Search" /> 
</form> 

任意の考え?

答えて

10

onBlurとonFocusを使ってクラスを追加したり引いたりするのはもっとクリーンです。そして、CSSクラスであなたが持っている可能性があり:

.focus { 
background: yellow; 
color: #000; 
border: 1px solid red; 
} 

チェックhereを境界線のプロパティの詳細については。 (w3schoolsを嫌う人には謝罪しますが、このタイプの参考文献には合理的な場所です)。

http://www.cssdrive.com/index.php/examples/exampleitem/focus_pseudo_class/

+0

移動スタイルとjavascriptが含まれる可能性があります。確かにもう少し時間がかかりますが、それは後で多くの痛みを軽減します。 –

+0

ありがとう、私はあなたとsotiris(以下)のおかげでそれを得た – Niall

+1

素晴らしい!あなたは私に投票して、私の答えの隣にあるチェックボックスをチェックすることができます。または両方なぜではない? – JakeParis

0

私はあなたがobject.style.borderColorと背景色を設定することができ、このようにインラインスタイルを使用することはお勧めしませんでもジャバスクリプト/ jqueryのが、...

を経由してイベントをアップ配線推薦。色はフォントの色のみです。

簡略化したCSSマークアップは「境界線」にすぎません。具体的には、境界線の色をCSSから設定する場合は「境界線の色」です。 javascriptではthis.style.borderColorに変わります。

7

:focus疑似クラス#q:focus {border:red 1px solid;}を使用できますが、ここに表示されているようにhttp://www.quirksmode.org/css/contents.htmlは7以下でサポートされていません。あなたはjqueryのを使用することができ、クロスブラウザの互換性と、次のコードを達成するために

$('#q').focus(function() { 
    $('#q').css('border','1px solid red'); 
}); 
+0

入力フィールドの外側をクリックすると、入力フィールドを前の境界色にする方法を教えてください。 – SOURAV

9

ちょうどそうのようなアウトラインの色のCSSを使用します。

.class { 
    outline-color:#FF0; 
} 
+0

これはすべてのブラウザで正解です。 http://www.w3schools.com/cssref/pr_outline.asp;を参照してください)IE8のサポートに関するメモがあります.DOCTYPEを指定する必要があります。 –

0

カール・マイケル・ヒューズからの答えは最終的に私のために働いていたものです!輪郭線の色を設定する唯一の方法は輪郭線です。ありがとう!

関連する問題