Your syntax is just wrong, that's it. These features should work. Using .on() as an example:
$('#someListener').on('submit', 'form:not(.member)', function() { ... });
Where someListener is an ancestor element that is NEVER destroyed by the AJAX function. If you try to bind an element to be destroyed, your listener will also be lost.
Frankly, I do not think that the part of 'form:not(".member")' does not suit me either. Are you sure the correct syntax for not ? I just took your word here.
In any case, the best way: either #someListener is an ancestor that has no other forms (for example, a search form), or you give this particular kind of form to a class. Thus, instead of excluding .member forms, you should TARGET only this form:
$('#someListener').on('submit', '.dynamicForm', function() { ... });
Or, if the Ajax content block (form and all) has some kind of shell, you can add a class to it (say, ".ajaxBlock" ) and do it like this:
$('#someLIstener').on('submit', '.ajaxBlock form', function() { ... });
source share