ScreenfeedFr
Member
Posted 1 year ago #
Hello.
I really love Contact Form 7, it's very flexible.
But I have a little problem: it doesn't send anything with IE6 (and works great with other browsers). The ajax loader appears, then nothing else.
I tryed with 2 websites: 1 with captcha and askimet, another without captcha nor askimet, it's the same thing.
I tryed to deactivate all other plugins (themes are "home-made"), not better.
You can try it here : http://www.jp-viguier.fr/contact/
If you have any idea... Perhaps I missed something :(
Greg
The page doesn't load contact-form-7's stylesheet. Perhaps a theme issue.
ScreenfeedFr
Member
Posted 1 year ago #
Yes, it doesn't load because I dequeued it in my functions.php. And I don't think it's a theme issue because I tryed with the twenty-ten theme and it doesn't work better :/
I'll try tomorow with a fresh and clean wordpress installation, just to be sure.
ScreenfeedFr
Member
Posted 1 year ago #
Hello again.
So, fresh and clean local install of WP 3.0.1(fr) and CF7 2.4.1.
Unfortunately, the email is never sent with IE6: press "send", spinning arrows, and nothing :(
And of course, the first person (after me) trying to send an email with, use IE6 =D (who said "lucky you"?! Jajajaja)
EDIT: I tryed with the version 2.4, same thing :(
ScreenfeedFr
Member
Posted 1 year ago #
Well, I made some progress.
Now I know where the problem come from, it's a javascript issue in my case.
With IE6, the form works with javascript deactivated only.
Stay tuned ;)
EDIT: for those who want to test my contact form et don't speak french, the fields are "name", "email", "message" and "captcha".
ScreenfeedFr
Member
Posted 1 year ago #
OK, I made it!
I used the method snigger used here: http://wordpress.org/support/topic/plugin-contact-form-7-ie8-and-7-not-submitting?replies=10
It's an "url-rewriting" problem.
So, with a little bit javascript, I tricked IE6: once dom is ready, we have to replace the form action url "/contact/#wpcf7-f1-p40-o1" by "/contact?#wpcf7-f1-p40-o1" (the "?" is important).
Here it is:
var reg = new RegExp("/#", "g");
var formurl = $('form.wpcf7-form[0]').attr('action').replace(reg,"?#");
$('form.wpcf7-form[0]').attr('action', formurl);
This little bit of code works if you have only 1 form in your page, because the selector targets the first cf7 form. If you have more than 1 cf7 form, you'll have to make a loop (with "each" for exemple).
I hope it will help.
But jquery.form.js does remove fragment part ("#xxxx") from URL before submitting form, so it shouldn't be necessary for you to concern it yourself.
ScreenfeedFr
Member
Posted 1 year ago #
Perhaps, I don't know how jquery.form.js works exactly. It seems the real problem for IE6 isn't "#XXXXXXX" but "/". So in the end, I only help jquery.form with IE6 ;)
Anyway, this little script solves my problem :)