Остановить отправку формы jQuery

144
17 января 2021, 13:50

Есть форма:

<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('Данного товара нет в наличии!'); 
    }
    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;

Как решить эту задачу?

Answer 1

function goPrice() { 
  if (jQuery('.out-of-stock').length) { 
    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; 
  } 
};

READ ALSO
Зачем в данном случае удалять класс?

Зачем в данном случае удалять класс?

Непонятен фрагмент кода в строке 1Надо реализовать подсветку ячейки при клике

131
Почему foo.x = undefined?

Почему foo.x = undefined?

Вроде как в коде ниже и всё должно быть просто, но тем не менее принцип работы не поддаётся моему пониманию

115
Как сделать растягивание как в excel для таблицы?

Как сделать растягивание как в excel для таблицы?

Есть простая таблица, нужно, чтобы при нажатии на поле, у него появлялась обвода и его можно было растянуть на другие поля (выше, ниже)

119