Ich habe folgenden JQuery-Skript:Kann dieses Jquery-Skript vereinfacht werden?
$(document).ready(function() {
// When the submit button of the new team form is clicked...
$('#new_team').submit(function() {
// Disable & rename the save button
$('input#save_button', this).attr('disabled', 'disabled').val('Saving...');
// Fade in the saving message
$("#saving-msg").fadeIn(200);
});
// Perform the AJAX request to the server
$('#new_team').ajaxForm({
url: "/teams/create.json",
type: "POST",
dataType: "json",
beforeSubmit: function(formData, jqForm, options) {},
success: function(response) {
if(response.success == true) {
// If no errors then redirect
window.location = "/teams/" + response.team_id;
} else {
// Enable and rename the save button
$('input#save_button').removeAttr('disabled').val('Save');
// Output errors
$("#error_messages").html(errorMessages(response)).hide().fadeIn(300);
// Fade out save message
$("#saving-msg").fadeOut(200);
// Scroll to the top
window.scrollTo(0,0);
}
}
}); });
Gibt es trotzdem, dieses Skript zu vereinfachen und auch für verschiedene Formen wiederverwendbar machen?
- Es ist immer nur ein Formular auf einer Seite
- Die Tasten die gleiche
- Jede Form immer markiert sind, hat eine eindeutige ID
Dank!
Dies ist nicht wirklich gute Übung, aber da es immer nur ein Formular gibt, können Sie einfach den Selektor $ ('form') verwenden, um auf das Formular zu verweisen. Dann referenziere den Button als Kind dieses Formulars, so dass du $ (this) .find ('input # save_button') verwenden kannst. – user120242