Вы можете сделать отправку через jquery и впоследствии отключить кнопку:
<input type="submit" value="do it!" onclick="$('#mainform').submit(); $(this).attr('disabled','disabled' ); $('#pleasewait').show();" />
EDIT:
Я забыл, что form.submit () не является асинхронным. Вместо этого вы можете сделать запрос ajax:
$.ajax({
url: "someurl",
type:"POST",
cache: false,
dataType: "json",
success:gotIt,
async:true,
timeout:240000,
error:ajaxError,
data:$("#mainform").serialize()
});
или вы можете просто .hide () нажать кнопку, или после нажатия на нее установить неработающий обработчик onClick () и придать ему стиль, чтобы он выглядел отключенным.