2017-05-09 6 views
0

Ich habe eine Schaltfläche, die eine Zahlung für meine Website unter Verwendung einer Funktion, die in einer externen Datei definiert ist. Ich möchte ein Popup-Fenster hinzufügen, um die Funktion, die mit onclick der Schaltfläche aufgerufen wird, zu bestätigen oder zu löschen. Ich bin vertraut mit Javascript, aber ich bin nicht sicher, wie man die Funktion innerhalb eines anderen genau nennt, wenn es extern definiert wird.Javascript - Bestätigen/Abbrechen vor onclick Taste Funktion

Was ich habe:

<script type="text/javascript"> 

var $jj = jQuery.noConflict(); 
$jj(document).ready(function() { 
    $jj('.alertbox').on('click', function() { 
     var _this = $jj(this); 
     $jj.confirm({ 
      title: 'Confirm!', 
      content: 'Are you sure?', 
      buttons: { 
      confirm: function review.save(); { 

       }, 
      cancel: function() { 

       } 
      } 
     }); 
    }); 
    }); 
</script> 

Knopf phtml:

<button type="submit" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Place Order')) ?>" class="button btn-checkout alertbox" onclick="review.save();" ><span><span><?php echo $this->__('Place Order') ?></span></span></button> 

Ich weiß, das funktioniert nicht, wie ich die folgende Fehlermeldung erhalten:

Uncaught ReferenceError: review is not defined 
at HTMLButtonElement.onclick 

Muss ich loswerden von der onclick? Gibt es eine effizientere Möglichkeit, dies zu tun? Vielleicht mit einem form und input anstatt button?

Antwort

0


 
    $('#press').on('click', function(){ 
 
\t \t var val = validate(); 
 
    if(val == true){ 
 
    var r = confirm("Submit form!") 
 
    var txt; 
 
    if (r == true) { 
 
    txt = "You pressed OK!"; 
 
    //$("#myform").submit(); //use this for submitting the form 
 
} else { 
 
    txt = "You pressed Cancel!"; 
 
} 
 
    alert(txt); //this line of code for test reasons 
 
    } 
 
    else{ 
 
    alert("input fields empty"); 
 
    } 
 
}); 
 

 

 
function validate(){ 
 
    var val = true; 
 
    var teste1 = $("#input1").val(); 
 
    var teste2 = $("#input2").val(); 
 
    if(teste1== "" || teste1 == null){ 
 
     var val = false; 
 
     //some css and jquery to change the input color 
 
    } 
 
    if(teste2 == "" || teste2 == null){ 
 
     var val = false; 
 
     //some css and jquery to change the input color 
 
    } 
 
    return val; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id = "myform" action="test.php" method="post">  
 
<input type = "text" id ="input1" value = ""> 
 
<input type = "text" id ="input2" value = ""> 
 
<button id = "press" type="button">Click Me!</button> 
 
</form>

+0

Ich brauche die Verwendung von 'review.save() zu halten;' Funktion, die ist, wo mein Problem liegt. – taskle

+0

Was macht die Funktion? –

+0

Es ist eine Funktion, die die Zahlungsinformationen auf dem Onepage-Checkout speichert und den Kunden an PayPal weiterleitet. (Ich verwende Magento) – taskle