以Drupal7形式停止Ajax事件

以Drupal7形式停止Ajax事件,ajax,javascript-events,drupal-7,Ajax,Javascript Events,Drupal 7,我面临一个Drupal7问题及其内置的ajax框架。 我的字段在用户填写时一步一步地注册,在提交表单时进行最终检查(这次没有js)。除了我的提交按钮外,我对每个字段都使用了这个#ajax回调: $form['myfield'] = array( '#type' => 'textfield', '#default_value' => 'test', '#title' => 'test', '#ajax' =>

我面临一个Drupal7问题及其内置的ajax框架。 我的字段在用户填写时一步一步地注册,在提交表单时进行最终检查(这次没有js)。除了我的提交按钮外,我对每个字段都使用了这个#ajax回调:

$form['myfield'] = array(
        '#type' => 'textfield',
        '#default_value' => 'test',
        '#title' => 'test',
        '#ajax' => array(
            'callback' => '_form_submit_callback',
            'wrapper' => 'name-error-icon-container',
            'method' => 'html',
            'effect' => 'none',
            'progress' => array(
                'message' => NULL,
            ),
        )
);

//EDIT: My callback as asked

function _form_submit_callback($form, &$form_state)
{

    form_state_values_clean($form_state); //Remove unuseful values from $form_state['values']    
    $hash = $form_state['values']['hash'];
    $currData = db_select('my_custom_table', 'rms')
        ->condition('hash', $hash)
        ->forUpdate(true)
        ->fields('rms')
        ->execute()
        ->fetchAssoc();
    if (is_array($currData)) {
        if ($currData != $form_state['values']) {
            $form_state['values']['updated_at'] = time();

            $num_updated = db_update('my_custom_table')
                ->fields($form_state['values'])
                ->condition('hash', $hash)
                ->execute();
            }
        }
    } else {
        $form_state['values']['inserted_at'] = $form_state['values']['updated_at'] = time();
        db_insert('my_custom_table')
            ->fields($form_state['values'])
            ->execute();
    }
}
这使我能够知道用户在哪里以及哪个字段已完成

在最后一场比赛之前,一切都很顺利。用户输入字段并更改值。该字段仅在用户离开时使用ajax查询进行更新

因此,每次用户离开字段时,都会调用_form_submit_回调函数并更新我的内容

当用户单击SubmitForm按钮时会出现问题。发送两个更新查询,一个是通过离开字段使用ajax,另一个是通过表单提交功能

当我单击提交按钮时,如何防止Drupal发送ajax查询?有没有一种方法可以删除每一个调用,或者只是在任何地方禁用ajax?我检查了模糊、更改、聚焦事件,但没有任何效果,看起来Drupal正在使用自己的事件。我在浏览器中看到一个名为Drupal.ajax的js对象,也许我可以用它做点什么


我这几天都在忙这个。我累坏了:f,你知道吗?谢谢大家!

你能发布你的ajax和提交回调吗?我发布了我的表单提交回调,但我不知道它有什么用处。我没有ajax回调。Drupal独自完成工作。