Tôi nhận được biểu mẫu chỉ có một trường. Trường này thuộc loại 'managed_field'. Khi bạn nhấp vào nút "Tải lên", thanh tiến trình sẽ hiển thị cho bạn tiến trình tải tệp lên. Sau đó bạn sẽ cần gửi biểu mẫu để lưu tệp.Drupal 7 - tự động gửi biểu mẫu sau khi tải tệp lên bằng managed_file loại
Vì thanh tiến trình sẽ không hiển thị khi bạn chọn tệp và sau đó nhấp vào nút gửi biểu mẫu thay vì nút "Tải lên". Tôi muốn kích hoạt gửi biểu mẫu sau khi tải lên (thông qua nút "Tải lên") đã hoàn tất.
hình thức hiện tại của tôi trông như thế này:
$form['#attributes'] = array('enctype' => "multipart/form-data");
$form['pdf_upload'] = array(
'#title' => t('Upload PDF'),
'#type' => 'managed_file',
'#required' => TRUE,
'#progress_message' => t('Please wait...'),
'#progress_indicator' => 'bar',
'#upload_validators' => array(
'file_validate_extensions' => array('pdf'),
)
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
Module tập tin xử lý các tập tin thông qua một callback ajax đến tập tin/ajax/* uri. Gọi lại trả về lệnh ajax.
Về cơ bản tôi muốn thêm lệnh ajax bổ sung kích hoạt gửi biểu mẫu sau khi tải lên tệp đã hoàn tất.
Điều đó có thể phức tạp. Một cách khác là tự động tải lên tệp khi lựa chọn để người dùng vẫn chỉ phải nhấp vào một nút. Xem http://drupal.stackexchange.com/questions/31121 – Clive