Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.01.2018, 13:57
Новичок на форуме
Отправить личное сообщение для Limboos Посмотреть профиль Найти все сообщения от Limboos
 
Регистрация: 23.01.2018
Сообщений: 3

Значение переменной выводится на экран через раз
Здравствуйте уважаемые форумчане. Помогите нубу. Решил написать небольшой калькулятор. Когда нажимаю на кнопку "Посчитать" результат то выводится, то появится на мгновение и исчезнет, причем закономерность выявить мне не удалось.

<!doctype html> 
<html>
<head>
<script src="calk.js" defer></script>
</head>




<body>
<form>
  <p><b>Калькулятор банкротства физического лица</b></p>
  
  <fieldset>
    <legend>Пожалуйста ответьте на несколько вопросов</legend>
      
      <label for="dolg">Укажите общую примерную задолженность</label>
      <select name="dolg" id="dolg">
        <option value="1">менее 1 000 000</option>
        <option value="2">1 000 000 - 5 000 000</option>
		<option value="3">5 000 000 - 10 000 000</option>
        <option value="4">более 10 000 000</option>
	  </select>
	  <br>
	  <label for="kred">Укажите количество кредиторов (1 - 10) </label>
	  <input type="number" id="kred" name="kred" min="1" max="10" value="1">
  
    <hr>
    <label for="mug"><input id="mug" type="checkbox" value="1">Вы женаты / замужем?</label><br>
    <label for="ipo"><input id="ipo" type="checkbox" value="1">У Вас есть квартира, обремененная ипотекой?</label><br>
    <label for="kva"><input id="kva" type="checkbox" value="1">У Вас есть объекты недвижимости кроме единственного жилья?</label><br>
    <label for="imu"><input id="imu" type="checkbox" value="1">У Вас есть другое зарегистрированное имущество (авто, гаражи, земля и т.п.)?</label><br>
    <label for="doh"><input id="doh" type="checkbox" value="1">Ваш официальный доход превышает прожиточный минимум?</label>
  </fieldset>
  <button onclick="calk()">Посчитать</button>
  <hr>
  <p id="out"></p>
  <p></p>
</form>


</body>
</html>


var rezult=10000;

function calk () {

var a = parseInt(document.getElementById('kred').value);

var b = document.getElementById("dolg").value;
rezult=rezult+(a*1000)-1000;

if (b == 1) {
	rezult=rezult;
}

if (b == 2) {
	rezult=rezult+1000;
}

if (b == 3) {
	rezult=rezult+2000;
}

if (b == 4) {
	rezult=rezult+3000;
}

  
	 
document.getElementById('out').innerHTML = '<b>Стоимость процедуры составит: '+rezult+'</b>';

	
}
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2018, 14:06
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Тэгу "button" добавьте атрибут "type" со значением "button".
Эту лапшу:
if (b == 1) {
    rezult=rezult;
}
 
if (b == 2) {
    rezult=rezult+1000;
}
 
if (b == 3) {
    rezult=rezult+2000;
}
 
if (b == 4) {
    rezult=rezult+3000;
}

можно заменить этим:
rezult+=(+b-1)*1000;
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2018, 14:59
Новичок на форуме
Отправить личное сообщение для Limboos Посмотреть профиль Найти все сообщения от Limboos
 
Регистрация: 23.01.2018
Сообщений: 3

Спасибо Вам огромное. И главное вроде все делал, как на ютуде рассказывают. А лапша это еще не доделано, просто тестировал. Там скорее всего будет не пропорциональное увеличение.
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2018, 15:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,209

Сообщение от Limboos
причем закономерность выявить мне не удалось
Закономерность тут одна - единственная кнопка на форме, без типизации, воспринимается как submit-кнопка.
При нажатии происходит отправка формы.
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2018, 16:01
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Limboos,
Сообщение от Limboos
Там скорее всего будет не пропорциональное увеличение
Тогда использовать b как индекс массива значений
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2018, 17:20
Новичок на форуме
Отправить личное сообщение для Limboos Посмотреть профиль Найти все сообщения от Limboos
 
Регистрация: 23.01.2018
Сообщений: 3

Да, трудно юристу учиться программированию
Может подскажете, как, например, из этой строки:

<label for="ipo"><input id="ipo" type="checkbox" value="1">У Вас есть квартира, обремененная ипотекой?</label>

вытянуть информацию о том поставлен флажок или нет?
Ответить с цитированием
  #7 (permalink)  
Старый 23.01.2018, 17:27
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

if(document.getElementById('ipo').checked)
    alert('Флажок отмечен');
Ответить с цитированием
  #8 (permalink)  
Старый 23.01.2018, 17:31
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Пример, правда, вырван из общего контекста задачи...

<label for="ipo"><input id="ipo" type="checkbox" value="1">У Вас есть квартира, обремененная ипотекой?</label>
<button id="test">Проверить чекбокс</button>
<script>
document.querySelector("#test").onclick = function() {
      if(document.querySelector("#ipo").checked) {alert("Есть флажок")}
      else { alert("Нет флажка")} 
}
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 23.01.2018, 17:32
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Nexus,
Медленно пишу...
Ответить с цитированием
  #10 (permalink)  
Старый 23.01.2018, 17:35
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Dilettante_Pro, у вас полноценный пример, у меня строка кода
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не сохраняется значение переменной при событии cyberpunk Events/DOM/Window 2 21.09.2012 09:59
В contains() не подставляется значение переменной Heger jQuery 2 11.12.2011 20:26
Значение переменной salex009 jQuery 1 05.12.2011 16:55
Изменить значение переменной функции через select Fenec Элементы интерфейса 5 13.08.2010 15:32
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25