尝试用if else语句替换计算时出现NaN错误?

时间:2018-11-29 13:40:31

标签: jquery

我有一个基于预定义值计算价格的函数,我要执行的操作是用if else if语句替换计算,以在继续操作之前检查某个大小是否在两个宽度之间,问题是我收到了尝试执行此操作时出现NaN错误。我是JQuery的新手,所以不确定自己在做什么错?任何想法或帮助将不胜感激,谢谢。

当前功能-

var dayNightM2was = "91.98";
var dayNight2M2was = "139.98";
var dayNight3M2was = "199.98";


var dayNightM2 = "45.99";
var dayNight2M2 = "69.99";
var dayNight3M2 = "99.99";


function calculateAreaMultipleDesktop() {
ga('send', 'event', 'instantPrice', 'gotInstantPrice', 'gotInstantPriceDayNightDesktop');
 var width = +document.getElementById("widthD").value;
    document.cookie = "blindWidth="+width+"; path=/";
 var height = +document.getElementById("heightD").value;
    document.cookie = "blindHeight="+height+"; path=/";
 if(document.getElementById("MMD").checked) {
    if(width < "200"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 200mm";return false;}
    else if (width > "2400"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 2400mm";return false;}
    if(height < "600"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 600mm";return false;}
    else if (height > "3000"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 3000mm";return false;}
    var mmDevidetoM = "1000";
    var mmWidth = width / mmDevidetoM;
    var mmHeight = height / mmDevidetoM;
    var m2 = mmWidth * mmHeight;
     var measurmentType = "MM"; 
    document.cookie = "blindMeasurement=mm; path=/"; 
 }
 else if(document.getElementById("CMD").checked) {
    if(width < "20"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 20cm";return false;}
    else if (width > "240"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 240cm";return false;}
    if(height < "60"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 60cm";return false;}
    else if (height > "300"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 300cm";return false;}
    var cmDevidetoM = "100";
    var cmWidth = width / cmDevidetoM;
    var cmHeight = height / cmDevidetoM;
    var m2 = cmWidth * cmHeight;
    var measurmentType = "CM"; 
    document.cookie = "blindMeasurement=cm; path=/"; 
 }
 else if(document.getElementById("INCHESD").checked) {
    if(width < "7.87402"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 7.87inches";return false;}
    else if (width > "94.48819"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 94.48inches";return false;}
    if(height < "23.622"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 23.62inches";return false;}
    else if (height > "118.1102"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 118.11inches";return false;}
    var inDevidetoM = "39.3701";
    var inWidth = width / inDevidetoM;
    var inHeight = height / inDevidetoM;
    var m2 = inWidth * inHeight;
    var measurmentType = "INCHES"; 
    document.cookie = "blindMeasurement=in; path=/"; 
 }

 var priceTotal = m2 * dayNightM2;
 var priceTotal2 = m2 * dayNight2M2;
 var priceTotal3 = m2 * dayNight3M2;

 var priceTotalWas = m2 * dayNightM2was;
 var priceTotal2was = m2 * dayNight2M2was;
 var priceTotal3was = m2 * dayNight3M2was;

 var priceTotalMSupply = priceTotal - (priceTotal * 0.2);
 var priceTotal2ndTierMSupply = priceTotal2 - (priceTotal2 * 0.2);
 var priceTotal3rdTierMSupply = priceTotal3 - (priceTotal3 * 0.2);

 var priceTotalWasMSupply = priceTotalWas - (priceTotalWas * 0.2);
 var priceTotal2ndTierWasSupply = priceTotal2was - (priceTotal2was * 0.2);
 var priceTotal3rdTierWasSupply = priceTotal3was - (priceTotal3was * 0.2);

document.getElementById("priceCheckButtonDesktop").innerHTML = "GET ANOTHER INSTANT PRICE";
document.getElementById("resultMultipleDesktop").style.display = "block";
document.getElementById("widthD").value = "";
document.getElementById("heightD").value = "";

替换功能-

var dayNightM2was = ".002";
var dayNight2M2was = ".004";
var dayNight3M2was = ".006";

var dayNightM2 = ".001";
var dayNight2M2 = ".002";
var dayNight3M2 = ".003";

var price = "";
var score = 0;

function calculateAreaMultipleDesktop() {
score = document.getElementById("widthD").value;
ga('send', 'event', 'instantPrice', 'gotInstantPrice', 'gotInstantPriceDayNightDesktop');
 var width = +document.getElementById("widthD").value;
    document.cookie = "blindWidth="+width+"; path=/";
 var height = +document.getElementById("heightD").value;
    document.cookie = "blindHeight="+height+"; path=/";
 if(document.getElementById("MMD").checked) {
    if ((score >= 500) && (score <= 1000)) {
    price = "£10";
  } else if ((score >= 1001) && (score <= 1699)) {
    price = "£20";
  } else if ((score >= 1700) && (score <= 2200)) {
    price = "£30";
  } else {
    price = "Please Input a Valid Number";
  }
 }
 else if(document.getElementById("CMD").checked) {
    if(width < "20"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 20cm";return false;}
    else if (width > "240"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 240cm";return false;}
    if(height < "60"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 60cm";return false;}
    else if (height > "300"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 300cm";return false;}
    if ((score >= 500) && (score <= 1000)) {
    price = "£40";
  } else if ((score >= 1001) && (score <= 1699)) {
    price = "£50";
  } else if ((score >= 1700) && (score <= 2200)) {
    price = "£60";
  } else {
    price = "Please Input a Valid Number";
  }
}
 else if(document.getElementById("INCHESD").checked) {
    if(width < "7.87402"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 7.87inches";return false;}
    else if (width > "94.48819"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 94.48inches";return false;}
    if(height < "23.622"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 23.62inches";return false;}
    else if (height > "118.1102"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 118.11inches";return false;}
    if ((score >= 500) && (score <= 1000)) {
    price = "£70";
  } else if ((score >= 1001) && (score <= 1699)) {
    price = "£80";
  } else if ((score >= 1700) && (score <= 2200)) {
    price = "£90";
  } else {
    price = "Please Input a Valid Number";
  }
}

 var priceTotal = m2 * dayNightM2;
 var priceTotal2 = m2 * dayNight2M2;
 var priceTotal3 = m2 * dayNight3M2;


 var priceTotalWas = m2 * dayNightM2was;
 var priceTotal2was = m2 * dayNight2M2was;
 var priceTotal3was = m2 * dayNight3M2was;


 var priceTotalMSupply = priceTotal - (priceTotal * 0.2);
 var priceTotal2ndTierMSupply = priceTotal2 - (priceTotal2 * 0.2);
 var priceTotal3rdTierMSupply = priceTotal3 - (priceTotal3 * 0.2);


 var priceTotalWasMSupply = priceTotalWas - (priceTotalWas * 0.2);
 var priceTotal2ndTierWasSupply = priceTotal2was - (priceTotal2was * 0.2);
 var priceTotal3rdTierWasSupply = priceTotal3was - (priceTotal3was * 0.2);


document.getElementById("priceCheckButtonDesktop").onclick = calculateAreaMultipleDesktop;
document.getElementById("resultMultipleDesktop").style.display = "block";
document.getElementById("widthD").value = "";
document.getElementById("heightD").value = "";

HTML-

<span id="resultMultipleDesktop"></span>

  <div class="radioButtonsCalcDesktop">
   <input type="radio" id="CMD" name="calc" value="CM" checked>&nbsp; cm 
   <input type="radio" id="MMD" name="calc" value="MM">&nbsp; mm 
   <input type="radio" id="INCHESD" name="calc" value="INCHES">&nbsp; inch 
  </div>

<input type="tel" class="field-medium" id="widthD" name="width" size="4" placeholder="WINDOW WIDTH">

  <span class="vc_col-sm-3 alignBottom">
     <button id="priceCheckButtonDesktop" class="lowerPriceCheckButton" 
     onclick="calculateAreaMultipleDesktop()" >GET INSTANT PRICE</button>
  </span>

0 个答案:

没有答案
相关问题