2015-01-25 4 views
0

Haloo, у меня есть проблема здесьФокусировка на пустой Обязательные для заполнения поля

Its мой Validation Script

foreach ($product_options as $product_option) { 
    if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { 

     $json['error']['product']['option'][$product_option['product_option_id']] 
      = sprintf($this->language->get('error_required'), $product_option['name']); 
    } 
} 

И его мой Div Id

<div id="option-<?php echo $option['product_option_id']; ?>" class="option"> 

В настоящее время, этот сценарий просто показать msgstr "имя поля обязательно!" Я хочу, чтобы он сфокусировался на пустом обязательном поле и показал, что «имя поля обязательно!» текст, Спасибо

+1

Было бы проще сделать это при проверке на стороне клиента. Если вы хотите сделать это на сервере, вам нужно отправить обратно Javascript, который устанавливает фокус. – Barmar

+0

Можете ли вы привести мне пример, пожалуйста? –

+0

Я предлагаю вам использовать библиотеку типа 'jquery-validate.js'. – Barmar

ответ

0

Когда вы обнаруживаете ошибку, выведите Javascript, который устанавливает фокус на недействительном поле.

foreach ($product_options as $product_option) { 
    if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { 

     $json['error']['product']['option'][$product_option['product_option_id']] 
      = sprintf($this->language->get('error_required'), $product_option['name']); 
     ?> 
     <script> 
     $(function() { 
      $("#option-<?php echo $product_option['product_option_id'] ?> input").focus(); 
     }); 
     </script> 
     <?php 
    } 
} 
+0

Простите, это не работает :( –

+0

Я не могу сказать, где этот код в вашем скрипте. Я предполагаю, что он находится в коде, который генерирует выходную страницу, вы уже начали печатать HTML, и после загрузки jQuery вы можете вставить блок '