I receive NULL values when trying to send Ajax Jquerry parameters in POST request - MVC CORE : so i'm a little new to MVC core.
My requirement is the following:
I have a "Contact.cshtml" view which contains a contact form.
After the user fills the contact form and clicks the "submit" button, I want to send the entered form parameters to the controller with the Ajax Jquerry Post method, and then send feedback back to the user without refreshing the page.

My Controller Method:

            [HttpPost]
        public IActionResult Contact(string name, string email, string subject, string message)
        {
            // Future code will be entered here and do some logic with the parameters

            // This will be replaced with a call to a partial View which contains a success message
            return View();
        }

Part of my Contact.cshtml file:

                <form method="post" role="form" id="contactForm">
                <div class="form-group">
                    <label for="name">השם שלך</label>
                    <input type="text" class="form-control" id="name">
                </div>
                <div class="form-group">
                    <label for="email">כתובת מייל</label>
                    <input type="email" class="form-control" id="email">
                </div>
                <div class="form-group">
                    <label for="subject">נושא</label>
                    <input type="text" class="form-control" id="subject">
                </div>
                <div class="form-group">
                    <label for="message">הודעה</label>
                    <textarea class="form-control" id="message" rows="3"></textarea>
                </div>
                <button type="submit" class="btn btn-theme">שלח</button>
            </form>

            @section scripts
            {
                <script>
                    $('#contactForm').submit(function () {
                        $.post('',
                            {
                                "name": $('#message').toString(),
                                "email": $('#email').toString(),
                                "subject": $('#subject').toString(),
                                "message": $('#message').toString()
                            }).done(function (response) {
                                alert("success");
                            })
                    });
                </script>
            }

**I spent Hours on this issue, but I always, and i mean always, receive NULL values for ALL of the form fields in the controller handling method, so please help me, thanks**