Как остановить отправку формы?

Всем привет! Очень прошу вашей помощи ( Есть форма:

<form action='https://loans-qa.ru/api/create' method='post'>
    <input />
    <input />
<button type="submit" name="submit" onclick="return goPrice()">
    Купить в кредит</button>
</form>

Есть JS:

<script type="text/javascript">
     function goPrice(){ 
        if(jQuery('html').hasClass('out-of-stock') ) {
            alert('Данного товара нет в наличии!'); 
           return false;
    }
    else { 
        var cena;
        cena = jQuery("div.woocommerce-variation-price span.woocommerce-Price-amount.amount").html().split('<')[0].replace('&nbsp;', '');
        jQuery( "input[name$='itemPrice_0']" ).val(cena);
        jQuery( "input[name$='sum']" ).val(cena);
        return true;
    }
};
</script>

Задача: Если на странице есть класс "out-of-stock" - Остановить переход и выдать сообщение.

Если данного класса нет - Выполнить:

var cena;
        cena = jQuery("div.woocommerce-variation-price span.woocommerce-Price-amount.amount").html().split('<')[0].replace('&nbsp;', '');
        jQuery( "input[name$='itemPrice_0']" ).val(cena);
        jQuery( "input[name$='sum']" ).val(cena);
        return true;

Очень прошу вашей помощи, все уже перепробовал, но к сожалению я только учусь и особо не понимаю в JS. Как решить эту задачку?
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
1) убрать goPrice() вообще, и из кода и из онклика
2) Повесить событие на субмит формы(вообще в идеале форма должна иметь id или другой селектор для удобного выделения)
3) В обработчике события первым действием выполняем preventDefault();
4) Проверяем что там должно/недолжно совпадать
5) Субмитим форму / выдаем алерт или что там в случае ошибки...
Ответ написан
Комментировать
@brodjga196011 Автор вопроса
Сделал вот так вот, а толку никакого. Я дико извиняюсь, но я немного не всё понимаю....
<script type="text/javascript">
	 jQuery('#credittin').click(function(event){ 
		if(jQuery('html').hasClass('out-of-stock') ) {
			alert('Данного товара нет в наличии!'); 
			event.preventDefault();
	}
	else { 
		var cena;
		cena = jQuery("div.woocommerce-variation-price span.woocommerce-Price-amount.amount").html().split('<')[0].replace('&nbsp;', '');
		jQuery( "input[name$='itemPrice_0']" ).val(cena);
		jQuery( "input[name$='sum']" ).val(cena);
		return true;
	}
});
</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект