на js и столкнулся с такой проблемой. После нажатие на кнопку - результат отображается на мгновение и сбрасывается (возвращаются дефолтные результаты инпутов). Если много поклацать переодически бывает, что на какое-то время начинает все работать. Как понимаю я - страница просто обновляется. Подскажите пожалуйста - как правильно писать, чтобы такого не происходило?
Есть форма с полями:
<form action="#">
<input type="text" name="cell1" class="form-control display-7" value="1000" id="cell1">
<input type="text" name="cell2" class="form-control display-7" value="2" id="cell2">
<h4 class="mb-4 mbr-fonts-style align-center display-2"><strong><lable id="price">1000000</lable></strong></h4>
<p class="mbr-fonts-style mb-5 align-center display-7"><strong><lable id="part">34</lable></strong><br>
<strong><lable id="part2">0 %</lable></strong></p>
<div class="col-auto mbr-section-btn mb-4">
<button type="" id="result" class="btn btn-primary btn-bgr btn-form display-4">ГЕНЕРИРОВАТЬ РЕЗУЛЬТАТ</button>
</form>
И есть код:
<script type="text/javascript">
function someFunc(){
var totalValueShares = document.getElementById("cell1").value;
var sold = document.getElementById("cell2").value;
var formula1 = (1-6/totalValueShares+12/totalValueShares)*100;
var formula2 = 100-(6/100*formula1);
var formula3 = (sold/formula2)*formula1;
if(sold>bought){formula2 = '-'+formula2+' % ↓';}else if (sold<bought){formula2 = '+'+formula2+' % ↑';}
//alert(formula2);
document.getElementById("price").innerHTML = formula3;
document.getElementById("part").innerHTML = formula1;
document.getElementById("part2").innerHTML = formula2;
document.getElementById("cell1").innerHTML = formula3;
}
document.getElementById("result").onclick = someFunc;
</script>
preventDefault
Обсуждают сегодня