Make javascript mandatory in web application?
<p>I am building a web application that will have a fair bit of forms. The html forms are generated using php.</p>

<p>One of the things I came across is this:</p>

<p>I have a drop down box for the user to select his country. Once he selects the country, a call is made to the server to fetch a list of states within that country and populate it in a drop down box.</p>

<p>Initially, I thought I could provide 2 options:</p>

<ul>
<li>An enhanced jquery version where ajax is used to fetch the states and the populate it in a drop down.</li>
<li>Where javascript is not availiable, the whole page is submitted to the server and then rerendered with the new states in the drop down.</li>
</ul>

<p>However, onChange() requires javascript. So if someone where to visit the form without javascript enabled, there's no way we can deal with the second option, since javascript is required to submit a form using onChange(). </p>

<p>What are some ways to deal with this? My only solution at the moment is to just make javascript mandatory. Users without javascript enabled will see a message saying that the page will not work properly.</p>

<p>Some sites:</p>

<ul>
<li>Hotmail.com - Refuses to show anything except a "javascript is required message"</li>
<li>Facebook.com - Tells us we should use the mobile version of the site.</li>
<li>Google Maps - Does not work. No message to say javascript is required.</li>
<li>Gmail - Falls back to basic html.</li>
<li>Google account - Does not work. No message to say javascript is required.</li>
</ul>

<p>Is it acceptable to require users to have javascript enabled at the current state of the web (august 2011)?</p>

<p>Just came across this possible solution: 
<a href="http://cita.disability.uiuc.edu/html-best-practices/auto/onchange.php" rel="nofollow">http://cita.disability.uiuc.edu/html-best-practices/auto/onchange.php</a></p>

<p>I could perhaps add a button which the user can use to select their country. This should allow us to reload and render the form with the states drop down without any javascript.</p>
