问题
We are using the following jQuery to disable submit buttons in order to prevent double submissions (slow server!).
jQuery(document).ready(function($){
/*SENDE BTN INAKTIV STELLEN*/
$("input[type=submit]").click(function() {
$(this).css({'opacity':'0.5','cursor':'wait'}).attr('disabled','disabled');
});
});
However, how do we fire the script AFTER the browser has validated all fields with the 'required' attribute in our HTML form?
回答1:
EDIT: I found a much more elegant way to do this. Please accept this answer if it works for you.
jQuery(document).ready(function($){
/*SENDE BTN INAKTIV STELLEN*/
$("input[type=submit]").click(function() {
var myform = $('#theform');
//checks if the form is valid
if(myform[0].checkValidity())
{
$(this).css({'opacity':'0.5','cursor':'wait'}).attr('disabled','disabled');
}
});
});
//this is slightly awkward but it works
jQuery(document).ready(function($){
/*SENDE BTN INAKTIV STELLEN*/
$("input[type=submit]").click(function() {
var flag = true;
$('[required]').each(function(){
if(!$(this).val())
flag = false;
});
if(flag){
$(this).css({'opacity':'0.5','cursor':'wait'}).attr('disabled','disabled');
}
else
return false;
});
});
来源:https://stackoverflow.com/questions/30126496/how-to-disable-submit-button-after-browser-has-validated-fields-with-required