When I clone a form and want to submit cloning form it submit parent form. I update the question.
$(document).ready(function () {
$('body').on('click','input[type="submit"]',function(e) {
e.preventDefault();
console.log($(this).closest('form'));
$(this).closest('form').submit();
});
$('#clone').click(function(e) {
e.preventDefault();
$('#myform_1').clone(true).prop('id', 'myform_2' ).appendTo('.clone');
});
$('[id^="myform_"]').each(function(key, form) {
$(form). validate({ //intit plugin
rules: {
field1: {
required: true
},
field2: {
required: true
}
},
submitHandler: function (form) {
alert('valid form submitted');
return false;
}
});
});
});
You can try something like below,
$(document).ready(function () {
$('body').on('click','input[type="submit"]',function(e) {
e.preventDefault();
console.log($(this).closest('form'));
$(this).closest('form').submit();
});
$('#clone').click(function(e) {
e.preventDefault();
$('#myform_1').clone(true).prop('id', 'myform_2' ).appendTo('.clone');
});
$(".submit").click(function(){
$(this).parent().validate({
rules: {
field1: {
required: true
},
field2: {
required: true
}
},
submitHandler: function (form) {
alert('valid form submitted formId='+$(form).attr("id"));
return false;
}
});
});
});
I have just assigned a class to your submit button
<div class="cl">
<form id="myform_1">
<input type="text" name="field1" />
<br/>
<input type="text" name="field2" />
<br/>
<input type="submit" class="submit"/>
</form>
</div>