jQuery: настройка фокуса на поле ввода на определенной странице

#javascript #jquery

#javascript #jquery

Вопрос:

Я пытаюсь установить фокус только на имени клиента на search_orders.php страница. Приведенный ниже код должен поместить курсор в поле ввода имени, если на странице поиска заказа. Почему-то это не работает. Пожалуйста, предложите любое изменение в моем коде, которое исправит это. Прилагается пользовательский интерфейс для поиска заказов, где мне нужно сфокусироваться на имени клиента.

введите описание изображения здесь

 function po_number_first(){
   if (document.location.href.indexOf("search_orders")==-1){
      document.search_form.po_number.focus();
}else{
     document.getElementById("Name").focus();
}
}
  

Вызов функции выполняется в файлах smartyTemplate, как показано в приведенном ниже коде.

 {include file="header.tpl" page_name=Search extra_javascript='<script language="JavaScript" src="includes/search_orders.js"></script>' on_load_script='po_number_first()'}
  

Комментарии:

1. Ну, есть ли ошибка в консоли?

2. Консоль ничего не показывает.

3. Вы отлаживали и смотрели, вызывается ли ваш код?

4. Да, оно вызывается. Теперь я вижу, что фокус не установлен на поле поиска po_number на странице поиска без заказа.

5. Вы понимаете, что в коде указано, не является ли страница search_orders фокусом po_number

Ответ №1:

Вместо добавления его в функцию, пожалуйста, попробуйте:-

 jQuery(document).ready(function() {
   if ( window.location.href.indexOf('/search_orders') > -1 ) {
     jQuery( "#target" ).focus();
   }else{
     jQuery( "#Name" ).focus();
   }
});
  

Комментарии:

1. Пробовал это, но не помогло. Не могли бы вы предложить другое решение, если оно есть?

2. Отлично! Рад помочь 🙂