2017-05-09 3 views
0

J'ai un bouton qui soumet un paiement pour mon site web en utilisant une fonction définie dans un fichier externe. Je veux ajouter dans une boîte de dialogue d'alerte pour confirmer ou annuler la fonction qui est appelée avec onclick du bouton. Je suis familier avec javascript, cependant, je ne suis pas sûr de savoir exactement comment appeler la fonction dans un autre si elle est définie en externe.javascript - Confirmer/Annuler avant la fonction du bouton onclick

Ce que j'ai:

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

Bouton 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> 

Je sais que cela ne fonctionne pas, comme je l'obtiens l'erreur suivante:

Uncaught ReferenceError: review is not defined 
at HTMLButtonElement.onclick 

-je me débarrasser de onclick? Existe-t-il un moyen plus efficace de le faire? Peut-être en utilisant un form et input plutôt que button?

Répondre

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

J'ai besoin de maintenir l'utilisation de 'review.save();' fonction, ce qui est là est mon problème. – taskle

+0

Que fait la fonction? –

+0

C'est une fonction qui enregistre les informations de paiement sur une page de paiement et redirige le client vers PayPal. (J'utilise Magento) – taskle