El detalle es que hago validacion y si falta un campo la layer siempre se muestra pues la puse en onclic del boton submit.
En que otro lugar se puede colocar en medio del codigo php, ya que el action del form es el mismo archivo, por eso no lo pongo en onload del body.
Mas o menos asi:
Código HTML:
<body> <?php if (isset($b_enviar)) //guardar el formulario { // codigo php aqui guardando datos e imagen.... } else { ?> <div id="Layer1" style="position:absolute; left:-1px; top:0px; width:524px; height:252px; z-index:1; visibility: hidden;" class="style20"> ESPERE MIENTRAS SE ENVIA EL ARCHIVO </div> <form action="enviarfoto.php" method="post" enctype="multipart/form-data" name="form1" onSubmit="MM_validateForm('nombre','','R','correo','','RisEmail','comentario','','R');return document.MM_returnValue"> <table width="500" border="0" cellpadding="0" cellspacing="10"> <tr> <td width="353"> <input name="imagen" type="file" id="imagen"><input name="MAX_FILE_SIZE" type="hidden" value="1024000"> <input name="b_enviar" type="submit" id="b_enviar" onClick="MM_showHideLayers('Layer1','','show')" value="Enviar"> <a href="#"> </a></td> </tr> </table></td> </tr> </table> </form>