Задать вопрос
@nikita1sm

Как сделать focus на input в компоненте Битрикс?

Есть компонент, от Аспро интернет маркет подключенный к сайту битрикс. Вот его код:

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<? $this->setFrameMode( true ); ?>
<?
$INPUT_ID = trim($arParams["~INPUT_ID"]);
if(strlen($INPUT_ID) <= 0)
	$INPUT_ID = "title-search-input";
$INPUT_ID = CUtil::JSEscape($INPUT_ID);

$CONTAINER_ID = trim($arParams["~CONTAINER_ID"]);
if(strlen($CONTAINER_ID) <= 0)
	$CONTAINER_ID = "title-search";
$CONTAINER_ID = CUtil::JSEscape($CONTAINER_ID);

if($arParams["SHOW_INPUT"] !== "N"):?>
	<div id="<?echo $CONTAINER_ID?>" class="middle_form">
	<form action="<?echo $arResult["FORM_ACTION"]?>">
		<div class="form-control1 bg">
			<input id="<?echo $INPUT_ID?>" type="text" name="q" value="" size="40" class="text big" maxlength="90" autocomplete="off" placeholder="<?=GetMessage("SEARCH_PLACEHOLDER");?>" /><input name="s" type="submit" value="<?=GetMessage("CT_BST_SEARCH_BUTTON");?>" class="button noborder" />
		</div>
	</form>
	</div>
<?endif?>
<script type="text/javascript">
var jsControl = new JCTitleSearch({
	//'WAIT_IMAGE': '/bitrix/themes/.default/images/wait.gif',
	'AJAX_PAGE' : '<?echo CUtil::JSEscape(POST_FORM_ACTION_URI)?>',
	'CONTAINER_ID': '<?echo $CONTAINER_ID?>',
	'INPUT_ID': '<?echo $INPUT_ID?>',
	'MIN_QUERY_LEN': 2
});

$("#<?=$arParams["~INPUT_ID"]?>").focus(function() { $(this).parents("form").find("button[type='submit']").addClass("hover"); });
$("#<?=$arParams["~INPUT_ID"]?>").blur(function() { $(this).parents("form").find("button[type='submit']").removeClass("hover"); });
</script>


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

Пытался сделать так:
search = document.getElementsByClassName('search_block');
search2 = document.getElementById('title-search-input2');
$(function(){
    $(search).click(function() {
        $(search2).focus();
    });
});


не работает именно часть функции click, не знаю как именно обратится к полю ввода, чтобы туда направить фокус.

Помогите пожалуйста, у профессионала это явно займет пару минут, я же уже все перепробовал, никак не получается.

Спасибо заранее
  • Вопрос задан
  • 411 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@paper1337
$(function(){
    $(".search_block").click(function() {
        $("#title-search-input2").focus();
    });
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы