why don't set the placeholder attribute for contact field? this is my hook_form_alter function for set the placeholder attribute and other stuff:

 function mysubtheme_form_alter(&amp;$form, &amp;$form_state, $form_id) {
    switch ($form_id) {
        case 'contact_site_form':
            $form['tel'] = array(
                '#title' =&gt; t('Tél'),
                '#type' =&gt; 'textfield',
                '#required' =&gt; TRUE,
            );
            if ($form_id == 'contact_site_form') {
                $form['name']['#title'] = t('name/family name');
                $form['name']['#attributes']['placeholder'] = t('Enter your name');
            }
                $order = array(
                '1' =&gt; 'name',
                '2' =&gt; 'mail',
                '3' =&gt; 'tel',
                '4' =&gt; 'subject',
                '5' =&gt; 'message',
                '6' =&gt; 'copy',
            );
            foreach ($order as $key =&gt; $field) {
               $form[$field]['#weight'] = $key;
            }
            break;
       }
  }


why don't set the placeholder attribute for contact field?

kpr() for this element shows:
edit

$form['name']['#attributes']['placeholder'] = array(t('Enter your name'));


to

$form['name']['#attributes']['placeholder'] = t('Enter your name');


then execute "flush all caches"