2017-10-07 3 views
-3

J'ai mis en place une page avec 2 boutons qui appellent 2 fonctions différentes sur leurs clics de bouton. Mais l'un des boutons ne fonctionne pas. Ils sont juste recharger la même page. Je vais mettre mon code ci-dessous.Appeler 2 boutons fonctions sous la même forme PHP

<form class="form-horizontal" id="add_product_form" method="post"> 
<script> 
    function submitForm(action) 
    { 
     document.getElementById('add_product_form').action = action; 
     document.getElementById('add_product_form').submit(); 
    } 
</script> 



<div class="col-sm-12"> 
      <input type="submit" onclick="return check_add_to_cart();" class="btn btn-danger btn-lg add-to-cart btn-block" value="Add To Cart"> 
<input type="submit" onclick=onclick="return check_add_to_quote();" class="btn btn-danger btn-lg add-to-quote btn-block" value="Add To quote"> 
     </div> 

Toute aide serait vraiment appréciée. Je vous remercie! Fonction Add_to_cart mentionnée au dessus de la page.

function check_add_to_cart(){ 
    var quantity = jQuery('#quantity').val(); 
    var data = jQuery('#add_product_form').serialize(); 
    if(jQuery.isNumeric(quantity) && quantity > 0){ 
    return true 
    } else if(quantity < 1) { 
    jQuery('#cart_error').html('<?=display_error_str("Quantity must be greater than 0.");?>'); 
    return false; 
    }else { 
    jQuery('#cart_error').html('<?=display_error_str("Quantity must be a number.");?>'); 
    return false; 
    } 

    function check_add_to_quote(){ 
    var quantity = jQuery('#quantity').val(); 
    var data = jQuery('#add_product_form').serialize(); 
    if(jQuery.isNumeric(quantity) && quantity > 0){ 
     return true 
    } else if(quantity < 1) { 
     jQuery('#cart_error').html('<?=display_error_str("Quantity must be greater than 0.");?>'); 
     return false; 
    }else { 
     jQuery('#cart_error').html('<?=display_error_str("Quantity must be a number.");?>'); 
     return false; 
    } 
} 
+2

Où les fonctions 'check_add_to_cart' et' check_add_to_quote' sont-elles définies? –

+1

Relire ma question dans un commentaire où les fonctions sont ** définies **? –

+0

J'ai mis à jour la question. Regarde. Merci! @B. Desai –

Répondre

0

Vous pouvez faire suite. Changer le type submit à button Et comme vous avez déjà la méthode submitForm(). Appelez cette méthode lorsque vous voulez renvoyer true.

changement

<input type="submit" onclick="return check_add_to_cart();" class="btn btn-danger btn-lg add-to-cart btn-block" value="Add To Cart"> 
<input type="submit" onclick=onclick="return check_add_to_quote();" class="btn btn-danger btn-lg add-to-quote btn-block" value="Add To quote"> 

Pour

<input type="button" onclick="return check_add_to_cart();" class="btn btn-danger btn-lg add-to-cart btn-block" value="Add To Cart"> 
<input type="button" onclick=onclick="return check_add_to_quote();" class="btn btn-danger btn-lg add-to-quote btn-block" value="Add To quote"> 

Et changer vos fonctions js à:

function check_add_to_cart(){ 
    var quantity = jQuery('#quantity').val(); 
    var data = jQuery('#add_product_form').serialize(); 
    if(jQuery.isNumeric(quantity) && quantity > 0){ 
    //return true 
    submitForm(""); //you can pass action in this if you want other page 
    } else if(quantity < 1) { 
    jQuery('#cart_error').html('<?=display_error_str("Quantity must be greater than 0.");?>'); 
    return false; 
    }else { 
    jQuery('#cart_error').html('<?=display_error_str("Quantity must be a number.");?>'); 
    return false; 
    } 

    function check_add_to_quote(){ 
    var quantity = jQuery('#quantity').val(); 
    var data = jQuery('#add_product_form').serialize(); 
    if(jQuery.isNumeric(quantity) && quantity > 0){ 
     //return true 
     submitForm(""); //you can pass action in this if you want other page 
    } else if(quantity < 1) { 
     jQuery('#cart_error').html('<?=display_error_str("Quantity must be greater than 0.");?>'); 
     return false; 
    }else { 
     jQuery('#cart_error').html('<?=display_error_str("Quantity must be a number.");?>'); 
     return false; 
    } 
} 

et supprimer submitForm() définition entre html et l'ajouter à bloc de script