Значение, отправленное на ajax, не изменяется - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть html, который печатает несколько форм с сохраненными значениями / метками из базы данных

image">

Теперь вот моя функция saveTemp (), которая хранит ее в базе данных:

function saveTemp() {
var productName = $('#name').val();
var quantity = $('#quantity').val();
//console.log(productName);
//console.log(quantity);
$.ajax({
    type: "POST",
    url: "purchase.php",
    data: {
        product: productName,
        quantity: quantity
    },
    success: function(){
        alert('success');
    }

});
return false;
}

Проблема в том, что всякий раз, когда я нажимаю другую форму для отправки, значения в productName и количество не меняются. Они по-прежнему содержат значения первой печатной формы.

Пример:

Предположим, что первая карта содержит картофель фри, а следующая карта содержит гамбургеры, даже если я нажму кнопку Добавить на гамбургеры, Введенное значение в базе данных по-прежнему фри и его количество, а не гамбургеры.

PS. Вот мой простой скрипт покупки. php, если это поможет. Спасибо!

<?php
include_once('connect.php');
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    $product = $_POST['product'];
    $quantity = $_POST['quantity'];
    $insert = $conn->prepare("INSERT INTO cart (name, quantity) VALUES (?,?)");
    $insert->bind_param("si", $product, $quantity);
    $insert->execute();
    $insert->close();
}

1 Ответ

0 голосов
/ 06 апреля 2020

Вы можете использовать отдельный идентификатор формы следующим образом ...

Просмотр

image">

сделать это измененным в вашем скрипте ...

js

function saveTemp(these) {
var formId = $(these).closest("form").attr("id"); // get form id here
var productName = $('#'+formId+' #name').val(); // assigned form id here
var quantity = $('#'+formId+' #quantity').val(); // assigned form id here
//console.log(productName);
//console.log(quantity);
$.ajax({
    type: "POST",
    url: "purchase.php",
    data: {
        product: productName,
        quantity: quantity
    },
    success: function(){
        alert('success');
    }

});
return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...