Получить значение скрытых полей - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь получить значение скрытых полей в форме, когда update_qty изменяется с событием on change.Форма генерируется циклом php и представляет одну строку из БД.Мне нужно получить update_qty с событием onchange, а также получить все скрытые поля обновленной строки.

Ниже приведен код, который я использую, не могли бы вы указать мне правильное направление?Я не могу заставить его работать.Я всегда получаю значения в скрытых полях из первого ряда.

//This form is dynamiclly genrated buy php loop. All input fields are one row from DB. 

<form name="form1" id="form1" method="POST" action="update_qty.php">
<input type="text" name="update_qty" class="update_qty" id="qty" value="<?php echo $sales_value['qty'] ?>"><?php echo ' Kom'; ?>
<input type="hidden" name="article_id" id="article_id" value="<?php echo $sales_value['article_id']; ?>">
<input type="hidden" name="sales_plan_id" id="sales_plan_id" value="<?php echo $sales_plan_id; ?>">
<input type="hidden" name="product_mix_id" id="product_mix_id" value="<?php echo $product_mix_id; ?>">
</form>

    //Update qty on article
$(document).ready(function() {

    $('.update_qty').on('change', function() {

        var message = prompt("Upišite razlog za izmjenu količine:");
        alert(message);
        //e.preventDefault();
        var article_id = $("#article_id").val();
        var sales_plan_id = $("#sales_plan_id").val();
        var update_qty = $(this).val();
        var product_mix_id = $("#product_mix_id").val();


        if (message != "" || message != NULL) {
            $.ajax({
                type:'POST',
                url:'update_qty.php',
                data:{ article_id: article_id, sales_plan_id: sales_plan_id, update_qty: update_qty, product_mix_id: product_mix_id, message: message },
                success:function(data) {
                    alert(data);
                }
            });
        } else {
            e.PreventDefault();
            return false;
        }

    });

});

1 Ответ

0 голосов
/ 11 июня 2018

Вместо этого вы можете сериализовать всю форму, чтобы получить все входные данные:

$(function() {
  $('.update_qty').on('change', function(e) {
    var data = $('#form1').serializeArray();
    console.log(data);
  });
});
...