I have my form setup with id="contactForm"
. When I write $("#contactForm").submit(function(event){...}
in the corresponding JS file, nothing in it even seems to be triggering.
Whats wrong here?
$("#contactForm").submit(function(event) {
// cancels the form submission
event.preventDefault();
console.log("submit hit");
alert("Submitted");
});
<script src="js/jquery-3.2.1.min.js"></script>
^ I use this in production, not a CDN
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="modal-body">
<form role="form" action="form-process.php" method="POST" id="contactForm">
<div class="input-group mb-3">
<label for="name"></label>
<div class="input-group-prepend"> <span class="input-group-text">Name</span> </div>
<input type="text" class="form-control" id="name" aria-label="First and last name.">
<div class="invalid-feedback">Required</div>
<div class="valid-feedback"></div>
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text">Email</span> </div>
<input type="email" class="form-control" aria-label="Email address." id="email">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Subject</button>
<div class="dropdown-menu"> <a class="dropdown-item" href="#">Music</a> <a class="dropdown-item" href="#">Programming</a> <a class="dropdown-item" href="#">Just saying hi!</a> </div>
</div>
<input type="text" class="form-control" aria-label="Subject" id="subject">
</div>
<div class="input-group">
<div class="input-group-prepend mb-3"> <span class="input-group-text">Message</span> </div>
<textarea class="form-control" id="message" aria-label="Email message."></textarea>
</div>
</form>
<button class="btn btn-outline-primary" id="form-submit" type="submit" data-dismiss="modal">Send</button>
</div>
<script src="js/email.js"></script>
^ This has the contents of the form logic
Here's the link to the live site.