2011-11-14 29 views
0

おはよう!Struts2テキストフィールドのプレースホルダ(JavaScriptを使用)

私はStruts2 Textfieldにプレースホルダを作成しようとしています。問題は、そのための組み込み属性がないことです。だから私はJavaScriptを使用することに決めました。しかし、私はそれをstrutsのテキストフィールドにどのように適用できるのか分かりません。 JavaScriptでHTMLのテキストフィールドのプレースホルダの

コードは以下の通りです:

HTML:<input type="text" name="billingNameStreet" class="input" title="Street"/>

<script type="text/javascript"> 
     $(':input[title]').each(function() { 
      var $this = $(this); 
      if($this.val() === '') { 
       $this.val($this.attr('title')); 
      } 
      $this.focus(function() { 
       if($this.val() === $this.attr('title')) { 
        $this.val(''); 
       } 
      }); 
      $this.blur(function() { 
       if($this.val() === '') { 
        $this.val($this.attr('title')); 
       } 
      }); 
     }); 
    </script> 

どのように私は私のStruts2のテキストフィールドでそれを行うことができる。

<s:textfield label="TEST" name="test" cssClass="haha"/> 
<s:textfield label="TEST1" name="test1" cssClass="haha1"/> 
<s:textfield label="TEST2" name="test2" cssClass="haha2"/> 

かでありますStruts2のテキストフィールドにプレースホルダを作成する別の方法はありますか?

ここでは、事前

+0

? –

+0

バージョン2.2.3で似た問題が修正されました。リンクはhttps://issues.apache.org/jira/browse/WW-3644です。 –

答えて

1

のおかげで、あなたのjQueryのコードは、セレクタがtitle属性を持つinput要素であると述べています。 struts2タグでは、タイトルは指定されていません。 <s:textfield/>タグでは、html title属性にレンダリングされるtitle属性を使用できます。

<s:textfield label="TEST" name="test" cssClass="haha" title="haha"/> 
<s:textfield label="TEST1" name="test1" cssClass="haha1" title="haha1"/> 
<s:textfield label="TEST2" name="test2" cssClass="haha2" title="haha2"/> 

あなたは、将来の参照のため、この文書を使用することができます:したがって、あなたのコードは、何かのように変更する必要が使用しているStruts2のバージョンの

http://struts.apache.org/2.0.14/docs/textfield.html

関連する問題