2015-07-21 1 views
0

Я добавил поле загрузки файла на свой узел, и я редактирую форму узла в пользовательском модуле, как показано ниже.Ajax based Multi select dropdown не работает с файловым полем - drupal 7

На основе зависимого выпадающего поля на основе ajax в форме. При выборе одного значения зависимые выпадающие нагрузки штрафуются. Но я получаю следующее сообщение об ошибке при выборе нескольких значений из раскрывающегося списка:

Был обнаружен незаконный выбор. Пожалуйста, свяжитесь с сайта администратора

я получаю эту конкретную ошибку из-за загрузки файла field.When я удалить его, форма работает абсолютно нормально.

Я не мог найти подсказок, чтобы решить эту проблему.

Мой код ниже: -

<?php 
function my_module_form_alter(&$form, &$form_state, $form_id) { 
    global $user; 
    switch ($form_id) { 
     case 'my_node_node_form': 
      form_load_include($form_state, 'inc', 'node', 'node.pages'); 
      $country_list = load_countries(); 
      $selected_country = isset($form_state['values']['course_country']) ? $form_state['values']['course_country'] : key($country_list); 
      $form['course_country'] = array(
       '#type' => 'select', 
       '#title' => t('Select Your Country'), 
       '#weight' => 11, 
       '#options' => $country_list, 
       '#default_value' => $selected_country, 
       '#ajax' => array(
        'callback' => 'city_dropdown_callback', 
        'wrapper' => 'city_wrapper_list', 
       ), 
       '#multiple' => TRUE, 
       '#required' => TRUE, 
      ); 

      $form['course_country_region'] = array(
       '#type' => 'select', 
       '#title' => t('Select Your City'), 
       '#weight' => 12, 
       '#prefix' => '<div id="city_wrapper_list">', 
       '#suffix' => '</div>', 
       '#options' => load_cities($selected_country), 
       '#multiple' => TRUE, 
       '#required' => TRUE, 
      ); 

      unset($form['field_upload_resouces']); 
      break; 
    } 
} 


function city_dropdown_callback($form, $form_state) { 
    return $form['course_country_region']; 
} 


function load_countries(){ 
    $sel_query = db_select('country', 'cd'); 
    $sel_query->fields('cd'); 
    $result = $sel_query->execute(); 
    while ($data = $result->fetchAssoc()) { 
     $country_list[$data['id']] = $data['name']; 
    } 
    return $country_list; 
} 


function load_cities($country_id) { 
    $region_list = array('any' => 'Any'); 

    $sel_query = db_select('city', 'cd'); 
    $sel_query->fields('cd'); 
    if(is_array($country_id)){ 
     $sel_query->condition('cd.country_id', $country_id, 'IN'); 
    }else{ 
     $sel_query->condition('cd.country_id', $country_id);  
    } 

    $result = $sel_query->execute(); 
    while ($data = $result->fetchAssoc()) { 
     $city_list[$data['id']] = $data['name']; 
    } 

    return $city_list; 
} 

ответ

2

У меня была аналогичная проблема, и я решил, обновляя jquery.form.js до последней версии.

Для получения более подробной информации, пожалуйста, обратитесь к ссылке https://www.drupal.org/node/153774#comment-9202403.

+1

Waah @Malay ': D' –

 Смежные вопросы

  • Нет связанных вопросов^_^