ещё как вариант (jquery) и капча вообще не нужна. Поскольку бот не умеет думать: -если submit завязан на GET, то при загрузке страницы дефолтную кнопку Отправить (type="submit") прячем жабой (append), добавляем жабой новый input (bind), но уже type="button", но него вешаем событие Save (ajax), в котором ещё добавляем флаг (немного избыточно, но не помешает) для проверки потом этого флага, но уже в POST. В скрипте на входе смотрим: Если не POST или нет флага - досвидос.