Trying to add a number of days to an initial date when selected by a user.
So an Admin creates settings - the setting im trying to use is a set number of days to be added. The user selects a date on a form and this number of days is added.
My form code:
<div class="col-xl-4">
<p class="card-text">Invoice Date: *
<input id="pay_term" type="hidden" name="pay_term" value="<? echo str_replace("'","",INVOICE_PAYMENT_TERM)?>"></p>
<input id="invoice_date" type="date" name="invoice_date" onchange="getdate()" required></p>
</div>
so INVOICE_PAYMENT_TERM holds the settings for number of days in a php file as define('INVOICE_PAYMENT_TERM', '15'); // Invoice Payment Term (Days)
This shows fine - for example - the number 15
Then the javascript -
<script>
        $(document).ready(function () {
        $('#invoice_date').datepicker();
    });
    function getdate() {
        var tt = document.getElementById('invoice_date').value;
        var nod = document.getElementById('pay_term').value;
        var date = new Date(tt);
        var newdate = new Date(date);
        newdate.setDate(newdate.getDate() + nod);
        var dd = ('0' + newdate.getDate()).slice(-2);
        var mm = ('0' + (newdate.getMonth()+1)).slice(-2);
        var y = newdate.getFullYear();
        var someFormattedDate = dd + '/' + mm + '/' + y;
        document.getElementById('invoice_due_date').value = someFormattedDate;
    }
    </script>
if INVOICE_PAYMENT_TERM is set at 15 and i select the invoice date of 01/03/2023 - I would expect 16/03/2023 but instead get 23/06/2023
newdate.setDate(newdate.getDate() + nod); If i change this line to newdate.setDate(newdate.getDate() + 15); it works fine and i get the expected date - it seems to not work after i set '15' as the variable 'nod' (numberofdays)
Thankyou in advance.
 
    