HTML / Javascript if else оператор для HTML формы - PullRequest
0 голосов
/ 31 марта 2020

Я новичок в кодировании, поэтому я прошу прощения, что ответ на этот вопрос, вероятно, очевиден. Я работаю в типографии и пытаюсь создать форму, которая поможет нам при составлении сметы, поскольку наши цены зависят от площади и стоимости различных типов материалов и т. Д. c. Мне было интересно, почему это утверждение else / if не работает ... Я пытаюсь сделать так, чтобы, если мы знали размеры в футах, программа сообщала нам квадратные метры и что, если мы знаем только размеры в дюймах , что это также скажет нам квадратные метры. Не уверен, что я делаю неправильно ... Кажется, что части кода работают по отдельности, но не после того, как они собраны вместе.

(Квадратные футы вычислять не составит труда. Расчет из дюймов не будет.)

Спасибо!

JS:

function estimateResults (form) {
  var footWidth = form.footWidth.value;
  var footHeight = form.footHeight.value;
  var inchHeight = form.inchHeight.value;
  var inchWidth = form.inchWidth.value;

if (form.sizeFormat.value = "ft") {
  var decalSize = footWidth * footHeight;
} else {
  var widthConverted = inchWidth / 12;
  var heightConverted = inchHeight / 12;
  var decalSize = widthConverted * heightConverted;

}
   alert ("decal size =" + decalSize);

}

HTML:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Decals</title>
</head>

<body>

<form id="decalForm">

<h1> Decal Estimator </h1>

<fieldset>
  <legend> Size: </legend>
  <input type="radio" name="sizeFormat" value="ft" /><label>feet</label><br />
  <input type="radio" name="sizeFormat" value="in" /><label>inches</label><br />


<p><label>Width (in)</label><input type="number" name="inchWidth" /> x <label>Height (in)</label><input type="number" name="inchHeight"/></p>
<p><label>Width (ft)</label><input type="number" name="footWidth" /> x <label>Height (ft)</label><input type="number" name="footHeight"/></p>
</fieldset>

<fieldset>
<p><label>Quantity:</label>
  <input type="number" name="decalQuantity" /></p>
</fieldset>

<fieldset>
<p><label>Material:</label>
<select id="materialType" name="material">
  <option value="diecut">Diecut</option>
  <option value="stdVinyl">Standard Vinyl</option>
  <option value="wrapFilm">Wrap Film</option>
  <option value="windowPerf">Window Perf</option>
  <option value="motorsports">Motorsports Vinyl</option>
</select>
</fieldset>


<fieldset>
<p><label>Design:</label>
  <input type="number" name="decalDesignTime" /></p>
</fieldset>

<fieldset>
<p><label>Install:</label>
  <input type="radio" name="installYN" value="false" /><label>No</label>
  <input type="radio" name="installYN" value="true" /><label>Yes</label><br />

<p><label>Install Time:</label>
  <input type="number" name="decalInstallTime" /></p>
</fieldset>


<fieldset>
  <p><label>Shipping</label>
    <input type="radio" name="shipYN" value="false" /><label>No</label>
    <input type="radio" name="shipYN" value="true" /><label>Yes</label><br />
</fieldset>



  <p><input type="button" value="Estimate" onClick="estimateResults(this.form)"/></p>

</form>

  <p id="decalEstimate"> This is where the answer will go....</p>


<script src="js/estimator.js"></script>
</body>
</html>

1 Ответ

0 голосов
/ 31 марта 2020

Вы делаете назначение:

form.sizeFormat.value = "ft"

И после этого form.sizeFormat.value будет иметь значение "ft" и if ("ft") всегда будет true.

Если вы хотите для сравнения это должно быть:

form.sizeFormat.value == "ft"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...