2017-01-21 47 views
0

當我使用ajax提交表單時,觸發提交的元素獲得焦點。我不想要這種行爲,如果我使用無限滾動,並且我想讓用戶保持在頁面底部。我該如何解決?如何防止Drupal專注於觸發ajax提交的元素?

焦點返回到該元素:

 $form['submit'] = [ 
     '#type' => 'submit', 
     '#value' => $this->t('Search'), 
     '#attributes' => [ 
      'class' => [ 
       'btn', 
       'btn-md', 
       'btn-primary', 
       'use-ajax-submit' 
      ] 
     ], 
     '#ajax' => [ 
      'wrapper' => $wrapper, 
     ] 
    ]; 

回答

0

爲了解決這個問題,我添加下列的變化:

$form['submit'] = [ 
     '#type' => 'submit', 
     '#value' => $this->t('Search'), 
     '#attributes' => [ 
      'class' => [ 
       'btn', 
       'btn-md', 
       'btn-primary', 
       'use-ajax-submit' 
      ] 
     ], 
     '#ajax' => [ 
      'wrapper' => $wrapper, 
      'disable-refocus' => true 
     ] 
    ]; 

禁用-再聚焦標誌可防止自動再聚焦。

參見:Focus state bug on text field AJAX calls