mmm... si usas Javascript, es mejor que utilizes el evento
onsubmit="return funcion()"
si tu función devuelve
true se envia el formulario, si es
false... pues no!!
en caso de hacerlo todo con PHP, es algo sencillo... pero no facil
debes utilizar los atributos correctos,
selected="selected" para las opciones de un <select/>,
checked="checked" para radios y checkbox.... y
value="VALOR" para los input, ahhh... y <textarea>VALOR</textarea>
para cada caso exige un tipo de lógica...
Código PHP:
<input value="<?php echo $isset($_POST['foo'])? $_POST['foo']: '' ?>"/>
ese es un solo ejemplo, para los demás casos... es cuestión de practica e ingenio, suerte!