2011-11-14 22 views
0

美好的一天!使用javascript的Struts2 textfield中的佔位符

我想在我的Struts2文本框上創建一個佔位符。問題是,它沒有內置屬性。所以我決定使用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

其中的struts2的版本使用的是? –

+0

在版本2.2.3中有類似的問題。鏈接https://issues.apache.org/jira/browse/WW-3644 –

回答

1

這裏jQuery代碼說,選擇是input元素與title屬性。在你的struts2標籤中,標題沒有被指定。在<s:textfield/>標記中,可以使用將被呈現爲html標題屬性的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"/> 

您可以使用此文件以備將來參考:

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