Submit button does not work in Safari or Camino; works fine in FF

http://www.missionpeoplesystems.com/Clients/English_Adventure_Test/program.php?pk_program=2

Click the "Register Online Now" button, and click through to get to the registration form.

I've tested this entire flow and it's working well in Firefox, but the Submit button just sits there and does not respond when you try to click it in Safari or Camino.

Could someone take a look at the page code and let me know what I'm screwing up?
kpisorAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Michel PlungjanConnect With a Mentor IT ExpertCommented:
DOH

The form stops at the wrong first field in CAMPER TWO!!!

You have to disable validation on invisible campers!!!
0
 
R-ByterCommented:
I would but its hard to look at this language. Do you have English or any version with Latin characters?

Regards
0
 
kpisorAuthor Commented:
Sure. Just go to any of the regular pages, and click the English toggle at the upper left of the page. Then go into the registration page. The form will be in English.
0
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

 
R-ByterCommented:
That submit button doesnt work in Firefox also.
If I click submit without entering any data it gives me info that I need to fill some required fields. So button is working in FF and Safari. However, if I fill all required data, button doesnt work in any browser.
I suspect that the problem is in your validation since you call it in formCamperRegistration,js file:

$('#RegSubmit').click(function(){
     $('#RegForm').validate();
}); 

Open in new window


Change it like this:

$('#RegSubmit').validate({
        submitHandler: function(form) {
   	     form.submit();
        }
});

Open in new window


Regards
0
 
kpisorAuthor Commented:
R-Byter:
That took care of the submit function, but the validate() doesn't work now. The form is submitted despite the substantial validation checks in the form.
Any suggestions?
Karl
0
 
kpisorAuthor Commented:
Typically, the validate() plugin for JQuery requires the form's ID

#RegForm

as the selector argument. Just so you know.
0
 
R-ByterCommented:
My mistake with the previous code (copy/paste - root of all errors :) )
This should work:

$('#RegForm').validate({
        submitHandler: function(form) {
             form.submit();
        }
});

Open in new window


Regards
0
 
kpisorAuthor Commented:
Okay, made this change, and the form submit button stops working in Safari. Same as the original problem.

If the form is blank, and there is no entry, then the validate() runs correctly in Safari. However, if you make ANY entry at all in Safari, and then click the Submit button, it doesn't submit the form.

Form functions perfectly in Firefox.
0
 
kpisorAuthor Commented:
Try it yourself in Safari at
http://www.missionpeoplesystems.com/Clients/English_Adventure_Test/program.php?pk_program=2

You might toggle the language selection if you see the page in Japanese.
0
 
Michel PlungjanIT ExpertCommented:
Seems to work in Safari5 on Mac
0
 
kpisorAuthor Commented:
In Safari 5--
Yes, the initial validation works. That is, validate() displays error messages normally. But, when you try to re-submit the form, the Submit button doesn't do anything. You are stuck on the page.
Also, if you enter all correct entries in Safari 5, the Submit button will go inactive.

JavaScript code for the submit function:
// Main registration form
             $('#RegForm').validate({
              submitHandler: function(form) {
                          form.submit();
              }
0
 
Michel PlungjanIT ExpertCommented:
Why would you submit the form in the handler?
Just validate and have the form submit because the validation works
I do not think you need to do any .submit()
0
 
kpisorAuthor Commented:
How would you change the code?

My production site is currently running with
$('#RegSubmit').click(function(){
                  $('#RegForm').validate();                                             
             });
0
 
Michel PlungjanIT ExpertCommented:
Not on a pc now but that looks wrong. I expect to see a ready statement with a validate assignment only and no click needed
0
 
kpisorAuthor Commented:
Please keep in mind that my main problem is my Mac/iPad/iPhone users, on Safari: they are 18% of my users, so I can't just force the solution that works in Firefox on them.
0
 
Michel PlungjanIT ExpertCommented:
I was not thinking of FX only. I'll look later how you need to do this
0
 
Michel PlungjanIT ExpertCommented:
Just do this. Nothing else is needed (assuming you have included the jQuery libraries

$(document).ready(function() {
  $('form').validate();
});
0
 
kpisorAuthor Commented:
Yes, I tried this on my test server. Same behavior persists. If validate() returns an error, and you fix it in Safari, then try to click on the submit button again, nothing happens. Firefox works fine.

Please help, I'd really like to fix this in Safari!
0
 
Michel PlungjanIT ExpertCommented:
Can you post the HTML and script ?
0
 
kpisorAuthor Commented:
HTML: view source, the JQuery is written above.
0
 
Michel PlungjanIT ExpertCommented:
Interesting

It works perfectly (saf 5 mac) until I select a t-shirt !? then the submit stops taking me to the fields in error

Very peculiar
0
 
kpisorAuthor Commented:
You got it right on.

I totally overlooked this, as I develop and test in Firefox, and FF passed the submit right through without stopping.

Thanks for your help!
0
 
Michel PlungjanIT ExpertCommented:
You are welcome. Weird error.

So Fx actually ignores validation on fields in hidden divs?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.