使用if语句的javascript确认框

时间:2016-04-25 21:49:52

标签: javascript if-statement confirm

我正在尝试构建一个运行总计算器的jacvascript,它允许用户指定用于计算屏幕上显示的(总和)总计的输入。

在用户更改输入之前,我想要一个确认框,允许用户选择正常(这会导致计算新的总数)或取消。

我已将带有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 个答案:

答案 0 :(得分: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);
   }
});