Entityform (block) redirect not working The redirect field within entityform doesn't seem to have any effect. I'm using the entityform block module, if it makes any difference.

I have also tried using hook_form_alter to copy to default submit action and hardcode it in, which also doesn't work:

function custom_edit_form_submit(&amp;$form, &amp;$form_state) {
   $form['actions']['submit']['#submit'][0] = 'custom_edit_form_submit';
}

function custom_edit_form_submit(&amp;$form, &amp;$form_state) {

$entityform = entity_ui_controller('entityform')-&gt;entityFormSubmitBuildEntity($form, $form_state);
  // Add in created and changed times. This must be added before preview to get time.
 if ($entityform-&gt;is_new = isset($entityform-&gt;is_new) ? $entityform-&gt;is_new : 0) {
global $user;
$entityform-&gt;created = time();

$entityform-&gt;uid = !empty($user-&gt;uid) ? $user-&gt;uid : 0;
}

$entityform-&gt;changed = time();
$entityform-&gt;draft = $form_state['clicked_button']['#entityform_draft'];
// Save the entityform and go back to the list of entityforms.
$entityform_type = entityform_type_load($entityform-&gt;type);
if (!empty($form_state['clicked_button']['#entityform_change'])) {
$form_state['entityform_preview_entity'] = $entityform;
$form_state['rebuild'] = TRUE;
drupal_set_message(t('Re-enter'));
return;
 }
else {
// If this entityform type has preview mode and we are in submit store preview.
if (empty($form_state['clicked_button']['#entityform_after_review'])
     &amp;&amp; !$entityform-&gt;draft
     &amp;&amp; !empty($entityform_type-&gt;data['preview_page'])
     &amp;&amp; $form_state['entityform_form_mode'] == 'submit') {
  $form_state['entityform_preview_entity'] = $entityform;
  $form_state['rebuild'] = TRUE;
  return;
}
}

$entityform-&gt;save();
if ($form_state['entityform_form_mode'] == 'submit' || !user_access('edit any entityform')) {
if (empty($entityform-&gt;draft)) {
  $redirect_path = $entityform_type-&gt;get_path_property('redirect_path', $entityform);

  if (!empty($redirect_path)) {

    $form_state['redirect'] = 'my/path/here';
    // print_r($form_state); die(); This fires which shows that the function is being called
  }
  else {
    global $user;
    if (empty($user-&gt;uid)) {
      // For anonymous users we must store the id of their submission in the session.
      drupal_session_start();
      $_SESSION['entityform_submission'] = $entityform-&gt;entityform_id;
    }
    $confirm_path = entity_ui_controller('entityform')-&gt;confirm_path($entityform-&gt;type, $entityform-&gt;entityform_id);
    $form_state['redirect'] = array($confirm_path[0], $confirm_path[1]);
   }

  drupal_set_message($entityform_type-&gt;get_prop('submit_confirm_msg', $entityform));
  }
  else {
  // Saving a Draft.
  $form_state['redirect'] = $entityform_type-&gt;get_path_property('draft_redirect_path', $entityform);
  if (empty($form_state['redirect'])) {
    // Redirect to standard draft page.
    drupal_set_message(t('Your draft submission has been saved.'));
    $form_state['redirect'] = entity_ui_controller('entityform')-&gt;draft_path($entityform-&gt;type);
  }
  else {
    // Redirecting away from standard draft page. Show text as message.
    drupal_set_message($entityform_type-&gt;get_prop('draft_save_text', $entityform));
  }
}
}
else {
$info = entity_get_info('entityform_type');
$form_state['redirect'] = $info['admin ui']['path'] . "/manage/{$entityform_type-&gt;type}/submissions";
drupal_set_message($entityform_type-&gt;get_prop('submit_confirm_msg', $entityform));
}
}
In addition to this code, you must use this code.

function custom_edit_form_submit(&amp;$form, &amp;$form_state) {
   $form['actions']['submit']['#submit'][] = 'custom_edit_form_submit';
}


whenever a submit is to be altered, we need not to override the index of default submit functionality instead we create a new one to perform a functionality on submit.

I hope, it will work for you!