2011-09-30 79 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" />