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

Почему вместо submit срабатывает click?

Стандартная форма обратной связи одного битркисовского шаблона
<h2><?=GetMessage("MFT_ORDER")?></h2>
<?if(!empty($arResult["ERROR_MESSAGE"]))
{
	foreach($arResult["ERROR_MESSAGE"] as $v)
		ShowError($v);
}
if(strlen($arResult["OK_MESSAGE"]) > 0)
{
	?><div class="mf-ok-text"><?=$arResult["OK_MESSAGE"]?></div><?
}
?>
<p class="note"><span><?=GetMessage("MFT_REQUIRED")?></span></p>
<form action="<?=POST_FORM_ACTION_URI?>#feedback" method="POST" class="form-main">
<?=bitrix_sessid_post()?>
	<div class="form-left">
	<fieldset>
		<label for="popup-order-name">
			<?=GetMessage("MFT_NAME")?><?if(empty($arParams["REQUIRED_FIELDS"]) || in_array("NAME", $arParams["REQUIRED_FIELDS"])):?><span class="mf-req">*</span><?endif?>
		</label>
		<input type="text" name="user_name" value="<?=$arResult["AUTHOR_NAME"]?>" id="popup-order-name" />
	</fieldset>
	
	<fieldset>
		<label for="popup-order-email">
			<?=GetMessage("MFT_EMAIL")?><?if(empty($arParams["REQUIRED_FIELDS"]) || in_array("EMAIL", $arParams["REQUIRED_FIELDS"])):?><span class="mf-req">*</span><?endif?>
		</label>
		<input id="popup-order-email" type="text" name="user_email" value="<?=$arResult["AUTHOR_EMAIL"]?>">
	</fieldset>
	
	<fieldset>
		<label for="popup-order-phone">
			<?=GetMessage("MFT_PHONE")?><?if(empty($arParams["REQUIRED_FIELDS"]) || in_array("PHONE", $arParams["REQUIRED_FIELDS"])):?><span class="mf-req">*</span><?endif?>
		</label>
		<input id="popup-order-phone" type="text" name="user_phone" value="<?=$arResult["AUTHOR_PHONE"]?>">
	</fieldset>
</div>
<div class="form-right">
	<fieldset>
		<label for="popup-order-msg">
			<?=GetMessage("MFT_MESSAGE")?><?if(empty($arParams["REQUIRED_FIELDS"]) || in_array("MESSAGE", $arParams["REQUIRED_FIELDS"])):?><span class="mf-req">*</span><?endif?>
		</label>
		<textarea name="MESSAGE" id="popup-order-msg"><?=$arResult["MESSAGE"]?></textarea>
	</fieldset>
</div>
<div class="clearfix"></div>
	<div class="text-center">
		<button type="submit" name="submit_contact" value="<?=GetMessage("MFT_SUBMIT")?>" class="btn btn-big"><span><?=GetMessage("MFT_SUBMIT")?></span></button>
	</div>
</div>
<script>
$( "form" ).submit(function( ) {
  yaCounterXXXXXXXXX.reachGoal('CALL'); return true;
});
</script>
</form>

Как видите, в самом низу стоит обработчик JQ для яндекс метрики. Проблема: Он срабатывает не только после успешной отправки формы, а просто на любой клик
по моему button. Хотя событие не onclick, а submit. Почему?

P.S. почему jq, а не
<form ......................... onsubmit=..............>

потому что тогда тоже счетчик крутит не успешную отправку формы, а клик на кнопку.
  • Вопрос задан
  • 486 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Austin_Powers
@Austin_Powers
Web developer (Symfony, Go, Vue.js)
button внутри form предназначен для отправки данных на сервер. При клике всегда генерирует событие submit
Ответ написан
Ваш ответ на вопрос

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

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