jQuery's .on() method combined with the submit event
You need to delegate event to the document level
$(document).on('submit','form.remember',function(){ // code});
$('form.remember').on('submit'
work same as $('form.remember').submit(
but when you use $(document).on('submit','form.remember'
then it will also work for the DOM added later.
The problem here is that the "on" is applied to all elements that exists AT THE TIME. When you create an element dynamically, you need to run the on again:
$('form').on('submit',doFormStuff);createNewForm();// re-attach to all forms$('form').off('submit').on('submit',doFormStuff);
Since forms usually have names or IDs, you can just attach to the new form as well. If I'm creating a lot of dynamic stuff, I'll include a setup or bind function:
function bindItems(){ $('form').off('submit').on('submit',doFormStuff); $('button').off('click').on('click',doButtonStuff);}
So then whenever you create something (buttons usually in my case), I just call bindItems to update everything on the page.
createNewButton();bindItems();
I don't like using 'body' or document elements because with tabs and modals they tend to hang around and do things you don't expect. I always try to be as specific as possible unless its a simple 1 page project.