2016-04-25 17 views
-1

Ich versuche, einen jacvascript running total Rechner zu erstellen, der dem Benutzer erlaubt, Eingaben zu spezifizieren, die verrechnet werden, um eine Summe zu berechnen, die auf dem Bildschirm angezeigt wird.Javascript confirm box mit if-Anweisung

Bevor der Benutzer eine Änderung an der Eingabe vornimmt, möchte ich ein Bestätigungsfeld haben, das dem Benutzer erlaubt, OK auszuwählen (was zur Berechnung der neuen Summe führt) oder abzubrechen.

Ich habe den Bestätigungsfeldcode mit einer IF-Anweisung in die GetTotal-Funktion eingefügt, aber es scheint nicht zu funktionieren. Jedes Mal, wenn die neue Summe berechnet wird, unabhängig davon, ob der Benutzer OK oder Abbrechen auswählt. Jede Hilfe sehr geschätzt. Mike

<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

ich jeden Rechner wegwerfen würde, den ich fragt, ob Sie es wirklich, seine Arbeit tun mögen. – kay

Antwort

1

Der Standard Javascript confirm() Funktion einen booleschen Wert zurückgeben sollte, so dass Sie nur in der Lage sein sollten, verwenden:

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); 
} 

Allerdings scheint es, dass Sie die BootstrapDialog Plug-in verwenden, die scheint ein wenig anders und nimmt einen Rückruf zu arbeiten um den Wert zu überprüfen, die eingegeben wurde:

enter image description here

So würde Ihr Code wahrscheinlich in etwa so aussehen, wenn Sie es ausschließlich als Bestätigung Option verwenden wollen:

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

danke! das funktioniert perfekt – MikeMcClatchie