2016-04-25 3 views
-1

Я пытаюсь создать калькулятор jacvascript с полным калькулятором, который позволяет пользователю указывать входы, которые подаются в суд, для вычисления суммы (суммы), которая отображается на экране.javascript confirm box with if statement

Прежде, чем пользователь вносит изменения во вход, я хочу иметь окно подтверждения, которое позволяет пользователю выбрать okay (что приводит к вычислению нового итогового значения) или отменить.

Я вставил код подтверждения с помощью оператора IF в функцию GetTotal, но он, похоже, не работает. Каждый раз, когда новый итог рассчитывается независимо от того, выбирает ли пользователь все в порядке или отменяет. Любая помощь очень ценится. Майк

<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.35.1/js/bootstrap-dialog.min.js"></script> 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> 
</head> 

<script> 
var input1 = 5555; 
var input2 = 666; 

$(document).ready(function() { 
    document.getElementById("input1").value = input1; 
    document.getElementById("input2").value = input2; 
    GetFirstTotal(); 
}); 

function GetFirstTotal() { 
    var total = 0; 
    $('input[type=text]').each(function(index, value) { 
     total += parseInt($(value).val() || 0); 
    }); 

    $("#chkTotal").html(total); 
} 

function GetTotal() { 
    var total = 0; 
BootstrapDialog.confirm('Are you sure you want to do this?'); 
if(confirm("text")==1) 
{ 
    $('input[type=text]').each(function(index, value) { 
     total += parseInt($(value).val() || 0); 
    }); 

    $("#chkTotal").html(total); 
} 
else {}} 
</script> 

TOTAL: 
<div id="chkTotal"></div> 
<br> 
<input type="text" name="input1" id="input1"/> 
<input type="button" value="Change X" onclick="GetTotal(this)"/> 
<br> 
<br> 
<input type="text" name="input2" id="input2"/> 
<input type="button" value="Change Y" onclick="GetTotal(this)"/> 
+1

Я бы выбросить любой калькулятор, который спрашивает меня, если вы действительно хотите, чтобы делать свою работу. – kay

ответ

1

По умолчанию Javascript confirm() функция должна возвращать логическое значение, так что вы просто должны быть в состоянии использовать:

if(confirm('Are you sure you want to do this?')) 
{ 
     // Do these things 
     $('input[type=text]').each(function(index, value) { 
      total += parseInt($(value).val() || 0); 
     }); 
     $("#chkTotal").html(total); 
} 

Тем не менее, кажется, что вы используете BootstrapDialog плагин, который кажется, действует немного по-другому и принимает обратный вызов для проверки значения, введенную:

enter image description here

Так что ваш код, скорее всего, искать что-то вроде этого, если вы хотите использовать его исключительно в качестве опции подтверждения:

BootstrapDialog.confirm('Are you sure you want to do this?', function(result){ 
    // If result is true, then the user confirmed the message 
    if(result) { 
     // Do work here 
     $('input[type=text]').each(function(index, value) { 
      total += parseInt($(value).val() || 0); 
     }); 
     $("#chkTotal").html(total); 
    } 
}); 
+0

спасибо! отлично работает – MikeMcClatchie