2016-04-25 15 views
-1

私は、画面に表示される(合計)合計を計算するために使用される入力をユーザーが指定できるようにする、ジャンクスクリプト実行中の電卓を構築しようとしています。if文を使用したjavascriptの確認ボックス

ユーザーが入力を変更する前に、ユーザーが大文字を選択して(新しい合計が計算される)、キャンセルするための確認ボックスが必要です。

私は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

関連する問題