2011-12-10 11 views
0

私は、検索する単語を入力してその横にあるボタンをクリックする目的のためのテキストボックスを持っています。テキストボックスのフォーカスアウトに関する問題

<input id="EnterText" class="lightcolor" type="text" size="50" value="Enter text" maxlength="50" name="EnterText"> 
<input id="ClickButton" type="image" value="Button" name="ClickButton" onclick="" src=""> 

私は優れたユーザーエクスペリエンスデザインを考えて行くと、フォーカスイベントが発生したときにクラスを変更して戻ってくる必要がある光色でいくつかのテキストEnter textに入ったフロントエンドから来たんだように、ブラーイベントが発生します。したがって、私はjQueryを書きました。

$(document).ready(function() { 
    $('#EnterText').focusin(function() { 
     alert("focus in"); 
     var res = document.getElementById("EnterText"); 
     document.getElementById("EnterText").value = ""; 
     res.setAttribute("class", "afterClick"); 
    }); 
    $('#EnterText').focusout(function() { 
     alert("focus out"); 
     var res = document.getElementById("EnterText"); 
     document.getElementById("EnterText").value = "Enter Text"; 
     res.setAttribute("class", "lightcolor"); 
    }); 
    $('ClickButton').click(function() { 
     alert("Click Button") 
    }); 
}); 

あなたは私がfocusinfocusblurfocusoutを試してきたが、私は私がfocusoutイベントがトリガされるボタンをクリックした瞬間として必要なことを行うことができませんでした見ることができるように。実際、ClickButtonのアラートは表示されません。このため私はこれを実装することができませんfocusoutfocusinと私のアイデアは今必要となった。私はまた、テキストボックスのフォーカスアウトイベントをクリックした瞬間が最初に呼び出され、フォーカスが来たことに気づいた。私が必要とするのは、ユーザを誘導するいくつかのコンテンツを持つテキストボックスであり、クリックすると値を入力してその値を取得した後でバックエンドの人々が残りの世話をするようにします。

答えて

3

あなたが簡単にjQueryとずっときれいコードであることを行うことができます。

はこれをチェックしてください: http://jsfiddle.net/webtiago/7BAyV/

+0

ちょっと感謝ティアゴ、このことが働いた。私はそれらを見逃しているもしそこに条件があると私はよりきれいなコードを見つけた。 – NoviceCoder

1

不要なjavascriptの代わりにプレースホルダ属性を使用することを検討する必要があります。

例:

http://jsfiddle.net/FdKYW/1/

+0

は、応答をありがとうございました。実際には、私たちはxml/xsltにHTMLタグに変換されたコードを書くことになっていますので、プレースホルダーを使うことはできません。 – NoviceCoder

関連する問題