Skip to main content
edited tags
Link
kenorb
  • 14.3k
  • 10
  • 98
  • 168
Source Link
Sugandh Khanna
  • 3.5k
  • 5
  • 40
  • 69

How to replace ajax callback of file upload in managed_file?

I have a text-area with some content inside. I have another form element that is for upload xls file. Now what I want to achieve is, when I click on upload button the xls file content should replace the text-area content.

$form['edit_file'] = array(
        '#type' => 'textarea',
        '#required' => TRUE,
        '#rows' => 20,
        '#default_value' => !empty($raw_xml) ? $raw_xml : '',
//        '#states' => array(
//            'visible' => array(
//                ':input[name ="upload_excel_files_upload_button"]' => array('value' => 'Upload'),
//            ),
//        ),
        
    );
    
    $form['upload_excel_files'] = array(
        '#title' => t('Upload Excel File'),
        '#type' => 'managed_file',
        '#description' => t('Please upload only .xlsx files.'),
        '#size' => 50,
//        '#ajax' => array(
//            'callback' => 'replace_existing_xml_callback',
//            'wrapper' => 'replace-existing-xml-div',
//            'method' => 'replace',
//            'effect' => 'fade',
//        ),
    );

How can I replace "edit_file" form item content by uploaded file?? I can't write this logic in form submit handler because on submit, text-area content get saved into database.

Any help will be highly appreciated. Thanks in advance.