Solved

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

Posted on 2011-02-28
25
757 Views
Last Modified: 2013-11-19
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
Comment
Question by:kpisor
  • 11
  • 9
  • 3
25 Comments
 
LVL 14

Expert Comment

by:R-Byter
ID: 34995918
I would but its hard to look at this language. Do you have English or any version with Latin characters?

Regards
0
 

Author Comment

by:kpisor
ID: 34996683
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
 
LVL 14

Expert Comment

by:R-Byter
ID: 34996787
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
 

Author Comment

by:kpisor
ID: 35023888
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
 

Author Comment

by:kpisor
ID: 35023905
Typically, the validate() plugin for JQuery requires the form's ID

#RegForm

as the selector argument. Just so you know.
0
 
LVL 14

Expert Comment

by:R-Byter
ID: 35025463
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
 

Author Comment

by:kpisor
ID: 35032149
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
 

Author Comment

by:kpisor
ID: 35032157
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
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 35458291
Seems to work in Safari5 on Mac
0
 

Author Comment

by:kpisor
ID: 35458312
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
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 35458339
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
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

Author Comment

by:kpisor
ID: 35458402
How would you change the code?

My production site is currently running with
$('#RegSubmit').click(function(){
                  $('#RegForm').validate();                                             
             });
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 35458425
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
 

Author Comment

by:kpisor
ID: 35458470
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
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 35458723
I was not thinking of FX only. I'll look later how you need to do this
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 35460015
Just do this. Nothing else is needed (assuming you have included the jQuery libraries

$(document).ready(function() {
  $('form').validate();
});
0
 

Author Comment

by:kpisor
ID: 35495160
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
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 35496074
Can you post the HTML and script ?
0
 

Author Comment

by:kpisor
ID: 35499493
HTML: view source, the JQuery is written above.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 35499501
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
 
LVL 75

Accepted Solution

by:
Michel Plungjan earned 500 total points
ID: 35499505
DOH

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

You have to disable validation on invisible campers!!!
0
 

Author Closing Comment

by:kpisor
ID: 35503866
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
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 35504357
You are welcome. Weird error.

So Fx actually ignores validation on fields in hidden divs?
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
Is your Office 365 signature not working the way you want it to? Are signature updates taking up too much of your time? Let's run through the most common problems that an IT administrator can encounter when dealing with Office 365 email signatures.
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…
Google currently has a new report that is in beta and coming soon to Webmaster Tool accounts. This Micro Tutorial will highlight new features for Google Webmaster Tools.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now