Not sure why wp_ajax isn’t working?

This is just a simple javascript issue. When your javascript that attaches the click behavior to the form is parsed, the form element doesn’t yet exist because it’s further down the page, so it doesn’t get attached. Either move the javascript below the form, wrap it in a jQuery(document).ready(), or use live.

EDIT – $('#ajaxForms').serialize(); should be jQuery('#ajaxForms').serialize();, you need to define ajaxurl in your javascript: var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";, otherwise your code works fine, tested here.