2011-09-30 57 views
0

我已經在CakePHP中創建的窗體的jQuery事件如何添加類CakePHP中定義的表單標籤,然後添加

<?php echo $form->create('User', array('action' => 'login'));?> 
     <?php 
      echo '<div class="loginbox">'; 
      echo '<table width="200" border="0">'; 
      echo '<tr>'; 
      echo '<td>'; 
      echo $form->input('username', array('label' => __('Username', true))); 
      echo '</td>'; 
      echo '<td>'; 
      echo $form->input('password', array('label' => __('Password', true))); 
      echo '</td>';    
      echo '<td>'; 
      echo $form->end('Login'); 
      echo '</td>'; 
      echo '</tr>'; 
      echo '</table>'; 
      echo '</div>'; 
     ?> 

我想添加一個類標籤和jQuery的是添加焦點事件,以便後在用戶名輸入中出現文本用戶名,並且在輸入區域中單擊時文本消失。如何使它工作?

+1

考慮使用HTML5'而不是placeholder'屬性,或許找一個jQuery解決了不支持的瀏覽器。 – Ross

+0

感謝羅斯它解決了我所有的問題 – user850234

+0

HTML5佔位符在IE7中不起作用。有沒有修復它? – user850234

回答

0

我只會將焦點和模糊事件綁定到您的輸入。對於每個輸入,創建一個title屬性爲默認的文本,當輸入爲空:

<script type='text/javascript'> 
jQuery(document).ready(function() { 
    $(".forminput").focus(function() { 
     if ($(this).val() == $(this)[0].title) { 
      $(this).removeClass("active"); 
      $(this).val(""); 
     } 
    }); 
    $(".forminput").blur(function() { 
     if ($(this).val() == "") { 
      $(this).addClass("active"); 
      $(this).val($(this)[0].title); 
     } 
    }); 
    $(".forminput").blur(); 
}); 
</script> 

<input value="" title="Enter a username" name="screenname" type="text" class="forminput" />