Tengo el siguiente código para enviar los datos a través de Jquery AJAX y observo que tengo tres valores que deben enviarse al archivo receptor (Addtocart.php). La transmision y recepcion fueron buenas, pero al rato no se por que ya no envia.. Cuando se cancela uno de los valores y quedan dos, envia.. pero cuando tres valores no se envian.
ajax
<script > $(document).ready(function() { $("#add-to-card").click(function() { var quantityq = $("#quantityq").val(); var user = $("#user").val(); var product__id = $("#product__id").val(); $.ajax({ url: 'Addtocart.php', method: 'POST', data: { quantityq: quantityq, user: user, product__id: product__id }, success: function(data) { $('#result').html(data); } }); }); }); </script> <input step="1" min="1" max="50" name="quantityq" id="quantityq" value="1" title="Qty" class="input-text qty text" size="4" type="number"> <input type="hidden" name="user" id="user" value="72663"> <input type="hidden" name="product__id" id="product__id" value="4"> </div> <button type="submit" id="add-to-card" class="btn sqaure_bt fll display-f">send</button>No está claro qué problema enfrenta, ya que no publicó un ejemplo que muestre el problema claramente.
Pero en lugar de vincular el evento de clic del botón, debe vincular el evento de envío del formulario. De esta manera, la validación del formulario del lado del cliente funcionará correctamente y su código JS será mucho más pequeño.
<form id="myForm"> <input step="1" min="1" max="50" name="quantityq" id="quantityq" value="1" title="Qty" class="input-text qty text" size="4" type="number"> <input type="hidden" name="user" id="user" value="72663"> <input type="hidden" name="product__id" id="product__id" value="4"> <button type="submit" id="add-to-card" class="btn sqaure_bt fll display-f">send</button> </form> <script> $(document).ready(function() { $("#myForm").submit(function(e) { e.preventDefault(); let postData = $(this).serialize(); $.ajax({ url: 'Addtocart.php', method: 'POST', data: postData, success: function(data) { $('#result').html(data); } }); }); }); </script>