So I use the following code to manipulate my ‘login’ form so that it submits it, to the url of action=”” and the data responded goes into id specified by target=””. The submit method is specified by method=””
I like this. It’s neat. But I was wondering if there was a way of having a script that meant that all forms were submitted through Jquery, without having to re-write this code for every form every time. That’s just messy.
Much appreciated!
<script type="text/javascript">
$(document).ready(function(){
$("#login").submit(function(){
var thistarget = this.target;
$(thistarget).html('Submitting...');
jQuery.ajax({
data: $(this).serialize(),
url: this.action,
type: this.method,
error: function() {
$(thistarget).html("Form failed to submit");
},
success: function(results) {
$(thistarget).html(results);
}
})
return false;
}
);
});
</script>
Sure, just replace
"#login"with"form". It will then affect all forms that currently exist on the page (but not future forms).For future forms AND current forms, you would need event delegation.