Cita: y si no pongo el botón guardar en HTML no soy capaz de ocultar el botón desde JavaScript, a pesar de haberlo intentado.
si lo que quieres es ocultar el botón no hay problema, puedes tener tus controles en server y otros en cliente para, o inclusive colocar tus controles en server y asignarle atributos para hacer lo que buscas.. intenta hacerlo de ésta forma:
Cita: <asp:Button id="btnguardar" runat="server" Text="Guardar cambios" />
en el código haces lo mismo
Cita: me.btnguardar.Attributes.Add("onclick", "javascript:return validar_campos();")
Solo que ahora lo estas haciendo con un boton del lado del server... con ello puedes mandar a llamar a tu javascript y regresar true dependiendo del criterio para que generes el postback.
SAlu2