Hi there,
I’m designing a site, well I’m amending one to be more precise. I’ve got a form on there, and as the site grows in popularity so does the forms popularity with those pesky bots. i.e. we’re getting a load of old rubbish coming through.
Anyway, recapcha seems a marvellous way to counteract this problem, or at least some of it. My issue is my forms width, it’s on the homepage, and is quite simple, but Recapcha is wider than my form.
I then developed a little solution which made it appear on the page using Jquery after you click submit. It looks neat enough BUT it’s not good if you don’t have Javascript installed, as the thing is initially hidden, and I don’t want it to be there all the time as it would obscure other parts of the page or look otherwise untidy.
Alas you see my problem. I like my solution but it’s not backwards compatible (if that is the right term), it doesn’t degrade gracefully.
I am aware that it should be available for all users, as any contact form should do. Does anyone know of a better solution that I can use? (picture of page attached). The top is how it looks, then the bottom is the pop up that fades in. You can see it’s slightly wider than the enquiry form and I don’t really want to change the page layout if possible.
Why don’t you send the page to the server and then check if the captcha has been filled in and then if not return the page with the captcha visible. Much in the same way that you would do any serverside checking/validation for form input. You are retuning a thank you page so its the same sort of process.
Hmm I see, interesting idea. I am a little worried that it might cause an extra load time and that might cause less completed enquiry forms.
Sorry, I don’t follow. I’m just saying that if the captcha hasn’t been filled in the you return the page with it visible. It will make no difference for all those with JS enabled and for the few without it they just get the extra request.
If you are going to make it available only by JS then you have few choices.
The only other choice is to only hide the captcha if js is enabled and if its not then reveal it by default (you’ll just have to squeeze it in somewhere).
Oh I see! So use some sort of validation on the recapcha, i.e. if empty redirect to this page, whereby it shows by default. I guess it might be a little messy but it does solve the problem and it doesn’t matter if it is above the content as by that stage I already know they want to submit the form.
Good plan, many thanks for your help… now… implementation 
Actually… now I think about it… doesn’t Recapcha use Javascript anyway? Therefore, all this is much of a commotion about nothing.
Users without Javascript might as well be bots lol 