Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 780
  • Last Modified:

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?
0
kpisor
Asked:
kpisor
  • 11
  • 9
  • 3
1 Solution
 
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
 
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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
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
 
Michel PlungjanIT ExpertCommented:
DOH

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

You have to disable validation on invisible campers!!!
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

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 11
  • 9
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now