1) You have the server side script check for errors aswell as the clientside javascript check. That way if they don't have Javascript turned on, your server side script can do the validation.
2) <a href="new.html" target="_new" class="popup">Text</a>
when the page loads, you call a javascript function which loops through all of the anchor tags that have the classname popup and change the href to a javascript function which opens a pop up. If the user doesn't have javascript turned on, then it won't change thte anchor tags leaving just a normal hyperlink which opens in a new window.
You should think of javascript as more of an extra rather than an alternative. For the people who have it turned on, they get things working faster (such as client-side validation) and for those who have it off, they just have things work the normal way.