My ajax is altering form action/URL thus makes me impossible to read the $tid from it 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(&amp;$form, &amp;$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-&gt;language);
                    } else {
                        $category = 'No category';
                    }
                    $form['submitted'][$category_fieldkey] = array(
                        '#type' =&gt; 'hidden',
                        '#value' =&gt; $category,
                    );

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

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

                );
            }

    }
     return $form;    
    }
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.