2012-03-05 60 views
1

我試圖從Drupal的FileField輸出中刪除「大小」屬性。現在,它輸出的標籤是這樣的:使Drupal的FileField輸出HTML5兼容

<input type="file" name="files[image]" class="form-file" id="edit-image" size="40" /> 

我嘗試了一些在我的自定義模塊#pre_render回調使用unset()的排列,但我只是風與大小=「」。屬性本身永遠不會消失,所以HTML5驗證器繼續抱怨。有沒有另外一種方法來完成這個任務,或者真正確保你的回調持續運行的方法? $form['mystuff'][] = 'mycallback'沒有做到這一點,普通老unset($form['mystuff']['#size'])運行得太晚。

回答

1

你試過hook_form_alter()

function YOUR_THEME_form_alter(&$form, &$form_state, $form_id) { 
    if ($form_id == 'YOUR_FORM_ID') { // Selects the form you want   
    $form['YOUR_FIELD_NAME']['#size'] = NULL; 
    } 
} 

有了這個,我已經能夠去除大小,並添加喜歡的佔位符等HTML5位:

$form['name']['#attributes'] = array('placeholder' => t('username')); 
+0

顯然改變你的DOCTYPE爲HTML了。 – SpaceBeers 2012-03-05 10:21:35

+0

我也是這樣試過的。有些東西不斷把這個屬性放回去,我用size =「」結束。 – 2012-03-06 03:45:06