samedi 31 octobre 2020

Getting a 500 Internal Server Error Jquery

While everything is running in the software, I get this error when I make a selection from the dropdown list in only one part. Where am I making a mistake? or is it a server error? I have not received this error in any Laravel before. When trying to get something from a dropdown list, this error comes to the console and there is no reaction on the site.

https://prnt.sc/vaujzf

<script type="text/javascript">
$("ul#product").siblings('a').attr('aria-expanded','true');
$("ul#product").addClass("show");
$("ul#product #adjustment-create-menu").addClass("active");

var lims_product_array = [];
var product_code = [];
var product_name = [];
var product_qty = [];

$('.selectpicker').selectpicker({
style: 'btn-link',
});

$('#lims_productcodeSearch').on('input', function() {
var warehouse_id = $('#warehouse_id').val();
temp_data = $('#lims_productcodeSearch').val();

if (!warehouse_id) {
    $('#lims_productcodeSearch').val(temp_data.substring(0, temp_data.length - 1));
    alert('Please select Warehouse!');
}
});

$('select[name="warehouse_id"]').on('change', function() {
var id = $(this).val();
$.get('getproduct/' + id, function(data) {
    lims_product_array = [];
    product_code = data[0];
    product_name = data[1];
    product_qty = data[2];

    $.each(product_code, function(index) {
        lims_product_array.push(product_code[index] + ' (' + product_name[index] + ')');
    });
});
});

var lims_productcodeSearch = $('#lims_productcodeSearch');

lims_productcodeSearch.autocomplete({
source: function(request, response) {
    var matcher = new RegExp(".?" + $.ui.autocomplete.escapeRegex(request.term), "i");
    response($.grep(lims_product_array, function(item) {
        return matcher.test(item);
    }));
},
response: function(event, ui) {
    if (ui.content.length == 1) {
        var data = ui.content[0].value;
        $(this).autocomplete( "close" );
        productSearch(data);
    };
},
select: function(event, ui) {
    var data = ui.item.value;
    productSearch(data);
}
});

$("#myTable").on('input', '.qty', function() {
rowindex = $(this).closest('tr').index();
checkQuantity($(this).val(), true);
});

$("table.order-list tbody").on("click", ".ibtnDel", function(event) {
rowindex = $(this).closest('tr').index();
$(this).closest("tr").remove();
calculateTotal();
});

$(window).keydown(function(e) {
if (e.which == 13) {
    var $targ = $(e.target);
    if (!$targ.is("textarea") && !$targ.is(":button,:submit")) {
        var focusNext = false;
        $(this).find(":input:visible:not([disabled],[readonly]), a").each(function() {
            if (this === e.target) {
                focusNext = true;
            }
            else if (focusNext) {
                $(this).focus();
                return false;
            }
        });
        return false;
    }
}
});

$('#adjustment-form').on('submit', function(e) {
var rownumber = $('table.order-list tbody tr:last').index();
if (rownumber < 0) {
    alert("Please insert product to order table!")
    e.preventDefault();
}
});

function productSearch(data) {
$.ajax({
    type: 'GET',
    url: 'lims_product_search',
    data: {
        data: data
    },
    success: function(data) {
        var flag = 1;
        $(".product-code").each(function(i) {
            if ($(this).val() == data[1]) {
                rowindex = i;
                var qty = parseFloat($('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ') .qty').val()) + 1;
                $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ') .qty').val(qty);
                checkQuantity(qty);
                flag = 0;
            }
        });
        $("input[name='product_code_name']").val('');
        if(flag) {
            var newRow = $("<tr>");
            var cols = '';
            cols += '<td>' + data[0] + '</td>';
            cols += '<td>' + data[1] + '</td>';
            cols += '<td><input type="number" class="form-control qty" name="qty[]" value="1" required step="any" /></td>';
            cols += '<td class="action"><select name="action[]" class="form-control act-val"><option value="-"></option><option value="+"></option></select></td>';
            cols += '<td><button type="button" class="ibtnDel btn btn-md btn-danger"></button></td>';
            cols += '<input type="hidden" class="product-code" name="product_code[]" value="' + data[1] + '"/>';
            cols += '<input type="hidden" class="product-id" name="product_id[]" value="' + data[2] + '"/>';

            newRow.append(cols);
            $("table.order-list tbody").append(newRow);
            rowindex = newRow.index();
            calculateTotal();
        }  
    }
});
}

function checkQuantity(qty) {
var row_product_code = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('td:nth-child(2)').text();
var action = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('.act-val').val();
var pos = product_code.indexOf(row_product_code);

if ( (qty > parseFloat(product_qty[pos])) && (action == '-') ) {
    alert('Quantity exceeds stock quantity!');
    var row_qty = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('.qty').val();
    row_qty = row_qty.substring(0, row_qty.length - 1);
    $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('.qty').val(row_qty);
}
else {
    $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('.qty').val(qty);
}
calculateTotal();
}

function calculateTotal() {
var total_qty = 0;
$(".qty").each(function() {
    if ($(this).val() == '') {
        total_qty += 0;
    } else {
        total_qty += parseFloat($(this).val());
    }
});
$("#total-qty").text(total_qty);
$('input[name="total_qty"]').val(total_qty);
$('input[name="item"]').val($('table.order-list tbody tr:last').index() + 1);
}
</script>


via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire