Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Non-JS Checkout
 
Brandon
Sr. Member
 
Avatar
Total Posts:  76
Joined:  2007-08-31
Web Developer
 

I had a problem trying to navigate through the checkout with JavaScript disabled.  While I’m sure this will be fixed in a final release, I think it’s important to remember that JavaScript should be an unobtrusive enhancement and not a requirement.  I’m okay with the AJAX for each step, but I think that clicking on the edit or continue button should still work without JavaScript turned on.

My $0.02

 
Magento Community Magento Community
Magento Community
Magento Community
 
Scott
Guru
 
Avatar
Total Posts:  333
Joined:  2007-08-31
Northwest Ohio
 

I agree that while it may be easy to forget to support those with JS disabled, it is important when building an application to make it degradable. Expect to see this improved in future releases. smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
Moshe
Magento Team
 
Avatar
Total Posts:  1770
Joined:  2007-08-07
Los Angeles
 

You may have seen in from the code that the checkout process can be done in any way you can imagine it.

I’m sure that the community will provide all different way it’s possible to do.

As i see it, the only way to build a functional one page checkout without use of javascript is to use iframes.. But who knows, if someone doesn’t like javascript, maybe he/she doesn’t like iframes either?

The multipage checkout should work gracefully without need of javascript, if it is not, this will be fixed in future releases.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Brandon
Sr. Member
 
Avatar
Total Posts:  76
Joined:  2007-08-31
Web Developer
 

Not always true.  There are a lot of different methods that can be used to give similar experiences to non-js browsers by forcing refreshes.  This is especially easy when you have a nice framework like Magento has set up.

Let me know if you guys need more input.  I think that the default checkout (since it will be used by the majority of the live stores) should support non-js.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Johan
Sr. Member
 
Avatar
Total Posts:  104
Joined:  2007-09-01
Sweden
 

I too believe there should be a fallback to a working non-JS checkout.

Is this really hard to make on the same page? You use JS to fold the steps. But if JS is disabled all steps would be visible by default etc.

It doesn’t seem impossible.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Brandon
Sr. Member
 
Avatar
Total Posts:  76
Joined:  2007-08-31
Web Developer
 

Johan, the problem with showing all of the steps at once is that each step is reliant on the previous (eg. You cannot show the customer the proper shipping methods/pricing until you know their ship to information.).

My thought on how the AJAX should degrade is:
Initially, show the form as is.  When the customer hits submit, attempt the AJAX, if there are any errors or if JavaScript is disabled, simply submit the page to itself (this should be done via the onsubmit attribute for the HTML form.
Now for the core of the page, you would add additional hooks to try and determine what step they are at.  I believe I posted about this once before, but here is how I tend to do it (not the BEST way, but this is pseudo code):
- Validate billing info: If there are any errors, show the billing step again and flag for errors. Else, continue on to the next step, shipping info.
If billing is the same as shipping, update the shipping details
- Validate shipping info: If there are any errors, show this step and flag errors.  Else continue to the next step, shipping methods.
- Validate shipping method selected. If there are any errors, show this step and flag errors.  Else continue to the next step, payment method.
- Validate payment method.  If errors, highligh.  Else review order!

This also would solve the problem of leaving checkout and then coming back.  Which is a very big problem IMO.

Also, see here: http://www.magentocommerce.com/boards/viewthread/58/ and http://www.magentocommerce.com/boards/viewthread/96/

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top