Входные данные формы отключаются во время запроса Ajax


Я работаю над модулем, в котором у меня есть форма внутри блока , я использую Ajax для отправки формы, но я заметил, что входные данные формы отключены при отправке запроса с помощью Ajax. Ну, в моем случае я хочу продолжать использовать ввод формы (событие ввода) и отображать результат для каждого запроса.

// my current code
$form['combine'] = array(
    '#type'       => 'textfield',
    '#size'       => 255,
    '#maxlength'  => 128,
    '#attributes' => array('placeholder' => 'Search'),
    '#ajax'     => array(
        'callback'  => 'ajax_filter_callback',
        'effect'    => 'fade',
        'wrapper'   => 'result-content',
        'event'     => 'keyup',
    ),
);
 1
Author: teeyo, 2015-01-19

1 answers

Эта функциональность встроена, поэтому вам нужно будет исправить Drupal.ajax.prototype.beforeSend (найдено в misc/ajax.js).

Скопируйте весь код, но удалите/измените эту строку:

$(this.element).addClass('progress-disabled').attr('disabled', true);

Итак, в файле JS вашего модуля или темы:

Drupal.ajax.prototype.beforeSend = function(xmlhttprequest, options) {
  // Place all code from the original function here, except the line above.
}

YMMV, вы можете невольно привести к неожиданному поведению, не дожидаясь завершения каждого запроса.

 1
Author: Clive, 2015-01-19 18:08:40