0

I am using WEBFORMS which have as the topic taxonomy terms saved as hidden fields.

Unfortunate, after attaching files using Upload button this terms are lost ('No category'), as ajax is altering the form #action URL from

/tid e.g. /19

/file/ajax/submitted/file4/form-gTwVpNbQRszArGEUS1OfuwA8WgSLJOlcWGOuS6r9D5A

I have multiple file forms

From where to read $tid?

Therefore my $tid fail to load from URL

      function MYMODULE_form_alter(&$form, &$form_state, $form_id) {

    if (strpos($form_id, 'webform_client_form_') === 0) {
        $tid = arg(1);
                  $term = taxonomy_term_load($tid);
                    if (!empty($term)) {
                        $category = i18n_taxonomy_term_name($term, $language->language);
                    } else {
                        $category = 'No category';
                    }
                    $form['submitted'][$category_fieldkey] = array(
                        '#type' => 'hidden',
                        '#value' => $category,
                    );

           // UP TO 10 FORM FIELDS
            for ($i = 0; $i <= 9; $i++) {
                $form['submitted']['file' . $i] = array(
                    '#title' => t('File'),
                    '#type' => 'managed_file',
                    '#description' => t('Please upload a document or image.'),
                    '#default_value' => variable_get('file' . $i, ''),
                    '#weight' => 100,        

// ADD FORM SUBJECT
            $form['submitted']['subject'] = array(
                '#type' => 'item',
                '#title' => t('Subject'),
                '#markup' => '<div class="form-subject">' . $subject . '</div>',
                '#weight' => -100,
            );

                );
            }

    }
     return $form;    
    }

enter image description here

  • Hi, if you dpm your request_uri() or your current_path() after your the ajax query, don't you get the tid from the url ? – Gregory Kapustin Jan 31 '13 at 13:58
  • @Gregory Kapustin Unfortunatelly No: request_uri() is giving me this url: /file/ajax/submitted/file4/form-tRe8TcTiu5n0C43Kp5M8yIbehkL9iprj6lj0dXt2tfg – drupal_stuff_alter Jan 31 '13 at 14:15
  • Your file field is also in your form_alter ? – Gregory Kapustin Jan 31 '13 at 14:21
  • @Gregory Kapustin Yes of course – drupal_stuff_alter Jan 31 '13 at 14:25
  • Actually ajax is altering my form's #action – drupal_stuff_alter Jan 31 '13 at 14:26
0

At the very end, you could use a variable_set on if(!empty(arg(1))) and retrieve it with variable_get on if(empty(arg(1))), but I'm sure there's a cleaner way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.