Обычно отключение / скрытие / замена кнопки должно работать. Если они работают очень быстро, попробуйте установить для переменной значение false при запуске скрипта, верните значение true, установите значение true после первого щелчка.
var alReadyClicked = false;
function click(){
if (alreadyClicked)
return false;
alreadyClicked = true;
}
Не забудьте установить значение false, когда пользователь сможет снова щелкнуть.