It has nothing to do with file name or whether it's present. The problem is that the code you're using is not valid JavaScript. You don't even get to run it, it fails when it gets parsed by webpack.
$document.on('click', '#btn-submit-modal'), function(event){
event.preventDefault();
$.post("mailtest.php", $("#contactform").serialize());
});
^
Unexpected parenthesis
What you wanted to do is pass the function as another parameter to the .on
function, but you closed the parenthesis after '#btn-submit-modal'
, so the parenthesis on the last line is unmatched and therefore invalid. The correct code would be:
$document.on('click', '#btn-submit-modal', function(event){
event.preventDefault();
$.post("mailtest.php", $("#contactform").serialize());
});