function fuelPrice()
{
    var fuelPrice=0;
    var theForm = document.forms["price"];
    var withFuelPrice = document.getElementsByClassName("ful");
    if(withFuelPrice.checked==true)
    {
        fuelPrice=30;
    }
    return fuelPrice;
}

function withPol()
{
    var polishPrice=0;
    var theForm = document.forms["price"];
    var includeInscription = document.getElementsByClassName("pol");
    if(includeInscription.checked==true){
        polishPrice=50;
    }
    return polishPrice;
}

function driver()
{
    var driverPrice=0;
    var theForm = document.forms["price"];
    var getDriv = document.getElementsByClassName("drv");
    if(getDriv.checked==true){
        driverPrice=50;
    }
    return driverPrice;
}

function calculateTotal()
{
var car1= 50
    var total = fuelPrice() + withPol() + car1 + driver();
     var text = "Total Price For the Renting "+total+ "BHD/Week";
    //display the result
    var divobj = document.getElementsByClassName('totalPrice');
    divobj.style.display='block';
    divobj.innerHTML = text;
  
    return text;

}

function myFunction()
{
	var name = calculateTotal()
	confirm(name)
}
<form class="price"><p class="totalPrice booktxt">Total Price For the Renting 50BHD/Week<br> </p>
                <input onclick="calculateTotal() " type="checkbox" class="ful">With Fuel<br>
                <input onclick="calculateTotal() " type="checkbox" class="pol">Polishing 2 weeks<br>
                <input onclick="calculateTotal() " type="checkbox" class="drv">Driver<br>

                </form>
                <button class="btn1" onclick="myFunction()">Add to cart</button>

У меня возникли проблемы с отображением цены в подтверждении, поэтому пользователь видит цену и подтверждает, что она в порядке или нет, когда я нажимаю на нее, отображается пустое всплывающее окно. Кроме того, могу ли я знать свою ошибку, чтобы избежать ее в будущем

0
Sayed Hasan 24 Апр 2017 в 21:30

2 ответа

Лучший ответ

Вы должны вернуть что-то, чтобы показать в этом окне подтверждения.

function fuelPrice() {
  var fuelPrice = 0;
  var theForm = document.forms["price"];
  var withFuelPrice = theForm.elements["ful"];
  if (withFuelPrice.checked == true) {
    fuelPrice = 30;
  }
  return fuelPrice;
}

function withPol() {
  var polishPrice = 0;
  var theForm = document.forms["price"];
  var includeInscription = theForm.elements["pol"];
  if (includeInscription.checked == true) {
    polishPrice = 50;
  }
  return polishPrice;
}

function driver() {
  var driverPrice = 0;
  var theForm = document.forms["price"];
  var getDriv = theForm.elements["drv"];
  if (getDriv.checked == true) {
    driverPrice = 50;
  }
  return driverPrice;
}

function calculateTotal() {
  var car1 = 50
  var total = fuelPrice() + withPol() + car1 + driver();
  var text = "Total Price For the Renting " + total + "BHD/Week"; // Store text in local variable

  //display the result
  var divobj = document.getElementById('totalPrice');
  divobj.style.display = 'block';
  divobj.innerHTML = text;

  return text; // Return text
}

function myFunction() {
  var name = calculateTotal()
  confirm(name) // Now it shows text from calculateTotal function
}
<form id="price">
  <p id="totalPrice" class="booktxt">Total Price For the Renting 50BHD/Week<br> </p>
  <input onclick="calculateTotal() " type="checkbox" id="ful">With Fuel<br>
  <input onclick="calculateTotal() " type="checkbox" id="pol">Polishing 2 weeks<br>
  <input onclick="calculateTotal() " type="checkbox" id="drv">Driver<br>
</form>
<button class="btn1" onclick="myFunction()">Add to cart</button>
2
Oen44 24 Апр 2017 в 18:34
  • Просто добавьте возвращаемое значение в функцию calcTotal. Как следующее

    return divobj.innerHTML;
    
  • Полная функция выглядит следующим образом:

    function calculateTotal()
    {
        var car1= 50
        var total = fuelPrice() + withPol() + car1 + driver();
    
        //display the result
        var divobj = document.getElementById('totalPrice');
        divobj.style.display='block';
        divobj.innerHTML = "Total Price For the Renting "+total+ "BHD/Week";
        return divobj.innerHTML;
    }
    
0
Moody Ibrahim Moody 24 Апр 2017 в 18:49