That is great! Thank you both!
I want to share my research about web2py + jQuery Mobile - made a lot of
tests. The bottom line id as follows.
JQuery Mobile is designed for mobile but it turns out it works on desktop
too. This is great because one design can work for both mobile and desktop
and it saves a lot of time. Unfortunately IE is creating an issues.
1) If ajax is enabled in jQuery Mobile the site looks great and the buttons
look beautiful and have an added visible which makes clicking on buttons in
IE to work always as expected, also submit buttons are working fine.
The issue (only with IE) is that when ajax is enabled a hash appears in the
browser bar and other side effects too. One side effect is for example you
login on the site and you are on /user/login page and the address bar shows
it up correctly. When you login redirection goes to front page but in the
browser address bar /user/login stays. If you click on a link web2py
changes the address bar correctly. But if you want to do a redirection, in
address bar you see /user/login staying. You are in /myinfo but you
see /user/login in the address bar. If yo uhappen to come to myinfo with
clicking on other links before, IE adds '#' tag for
example /user/login#myinfo. Coming to myinfo, you fill out the form and hit
submit. Because in the browser bar you have /user/login#myinfo, the form is
not submitted because web2py thinks you are in /user/login.
2) if ajax is enabled gobally jQuery Mobile has an option to add 'ajax
disabled' for the link or submit button, but it does not change the
behavior with IE.
3) the only way to show the browser bar correctly and eliminate the hash is
by disabling the ajax globally. Which makes the site not looking good and
now you have a different issue. Clicking on buttons and submit with IE is
not reliable, you have to click on the upper part of the button (?!?).
So the bottom line is for IE better to leave ajax on and solve the browser
bar some other means. For example I mentioned that if a click is made
manually the browser bar comes correct and there is not a hash. jQuery
Mobile can make clicks programmatically and I will try to detect IE, get
the web link of the current page (send via {{=link}} for example using
web2py) and click to it programmatically. This will refresh the page and I
believe the address bar wil lbe corrected. I don't see any other way.
Regards,
--Constantine