2016-07-15 7 views
0

ich diesen HTML Code habe:Zugriff auf eine JQuery-Funktion nach einem Klick auf eine Schaltfläche

<form class="add-to-cart-form"> 
 
     <input type="hidden" name="product-code" value="2" /> 
 
     <input type="submit" value="Add" class="button" onclick="addToCart('2');"/> 
 
    </form>

Und ein Javascript-Code:

function addToCart(product_id, quantity) { 
 
     quantity = typeof(quantity) != 'undefined' ? quantity : 1; 
 

 
     $.ajax({ 
 
      url: 'test.php', 
 
      type: 'post', 
 
      data: 'product_id=' + product_id + '&quantity=' + quantity, 
 
      dataType: 'json', 
 
      success: function(json) { 
 
       alert(json.message); 
 
      } 
 
     }); 
 
    }

IN der HTML-Datei anyt Ich klicke auf den Absenden-Button, anstatt mich zur Funktion addToCart zu bringen, wird das Formular abgeschickt.

Ich bin neu in Javascript und kenne wirklich nicht die Quelle des Problems. Bitte helfen Sie mir, dieses Problem zu lösen.

+3

Änderungstyp 'submit' zu' button' –

+0

kaum Grund für Formular zu sehen, da Sie keinen der Eingänge darin referenzieren. Aber Grundproblem ist tun ajax sagt Browser nicht, um das Formular durch Standard-Browser-Prozess – charlietfl

+0

senden hinzufügen 'Return false' zu ​​onclick Attribut –

Antwort

1

Wenn Sie auf eine Schaltfläche zum Senden klicken, wird das Formular standardmäßig gesendet. Wenn Sie das nicht möchten, müssen Sie das verhindern.

+1

Statt die Standardaktion zu verhindern, können wir nur ändern Typ des Eingabeelements zu Schaltfläche (wie in einem der Kommentare vorgeschlagen). –

Verwandte Themen