Mi problema es el siguiente, estoy tratando de guardar e imprimir a la ves un formulario con un solo botón.
La primera parte de guardar los datos del formulario la tengo solucionada.
La parte de la impresión es en la que tengo problemas, pues me gustaria imprimir solamente el formulario y no el botón para esta acción, pero ocurre todo lo contrario jejeje.
Me apoye en en la FAQ 178 http://www.forosdelweb.com/f13/faqs-...tml#post629887.
mi codigo es el siguiente:
Código HTML:
Ver original
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> @media print { div,a {display:none} .ver {display:block} .nover {display:none} } #centrar { text-align: center; } </style> <script language="javascript"> function ocultaBoton(){ var oculto= document.getElementById("hiddenField").value; alert("oculto vale : "+oculto); if(oculto==1){ document.getElementById("hiddenField").value=0; return true; } return false; } function SumaOtros(){ var valor_consumo=parseInt(document.form1.valor_consumo.value); var subsidio=parseInt(document.form1.subsidio.value); var deuda_anterior=parseInt(document.form1.deuda_anterior.value); var otros=parseInt(document.form1.otros.value); var otros2=parseInt(document.form1.otros2.value); //Compruebo si es un valor numérico if (isNaN(otros2)) { //entonces (no es numero) devuelvo el valor cadena vacia alert("Debe ingresar un numero entero"); return "" ; } var total; total=valor_consumo - subsidio + deuda_anterior + otros + otros2; document.getElementById("total").value= total; } function impre(num) { document.getElementById(num).className="ver"; print(); document.getElementById(num).className="nover"; } </script> </head> <?php $nombres=$_REQUEST['nombres']; $apellidos=$_REQUEST['apellidos']; $numero_socio=$_REQUEST['numero_socio']; $numero_cuenta=$_REQUEST['numero_cuenta']; $direccion_cuenta=$_REQUEST['direccion_cuenta']; include("../../../Persistencia/DAO/ConsumoDAO.php"); $consumo_dao=new ConsumoDAO; $ultimo_aviso=$consumo_dao->get_ultimo_aviso_cuenta($numero_cuenta); $aviso_cuenta=mysql_fetch_array($ultimo_aviso); ?> <body> <form id="centrar" name="form1" method="post" target="guardador" action="../../../Persistencia/Controlador/pagos/guardarBoletaControlador.php?" onSubmit="return ocultaBoton()"> <div id="uno"> <table width="620" border="1" align="center" > <tr> </tr> <tr> <input name="nombres" type="text" id="nombres" value="<?php echo $nombres." " .$apellidos?>" size="40" readonly="readonly" /> <input name="numero_socio" type="text" id="numero_socio" value="<?php echo $numero_socio ?>" size="15" readonly="readonly" /> </tr> <tr> <input name="direccion" type="text" id="direccion" value="<?php echo $direccion_cuenta?>" size="40" readonly="readonly" /> <input name="numero_cuenta" type="text" id="numero_cuenta" value="<?php echo $numero_cuenta?>" size="15" readonly="readonly" /> </tr> </table> <table width="620" border="1" align="center"> <tr bordercolor="#FF6600"> </tr> <tr> <input name="consumo" type="text" id="consumo" value="<?php echo $aviso_cuenta[metros_consumidos]?>" size="18" readonly="readonly" /> <input name="lectura_actual" type="text" id="lectura_actual" value="<?php echo $aviso_cuenta[lectura]?>" size="18" readonly="readonly" /> <input name="lectura_anterior" type="text" id="lectura_anterior" value="<?php echo $aviso_cuenta[lectura]-$aviso_cuenta[metros_consumidos]?>" size="18" readonly="readonly" /> <input name="mes_consumo" type="text" id="mes_consumo" value="<?php echo $aviso_cuenta[periodo_pago]?>" size="18" readonly="readonly" /> </tr> </table> <table width="620" border="1" align="center"> <tr bgcolor="#66CC66"> </tr> <tr> <input name="valor_consumo" type="text" id="valor_consumo" value="<?php echo $aviso_cuenta[valor]?>" readonly="readonly" /> </tr> <tr> <input name="subsidio" type="text" id="subsidio" value="<?php echo $aviso_cuenta[subsidio]?>" readonly="readonly" /> </tr> <tr> <input name="deuda_anterior" type="text" id="deuda_anterior" value="<?php echo $aviso_cuenta[deuda_anterior]?>" readonly="readonly" /> </tr> <tr> </tr> <tr> <td height="23" align="left">( + )Otro motivo: <label> <input name="otro_motivo" type="text" id="otro_motivo" size="49" /> <input type="text" name="otros2" id="otros2" onblur="SumaOtros()" /> </tr> <tr> <input type="text" name="total" id="total" value="<?php //(+)valor mensual(-)subsidio(+)deuda anterior(+)otros echo $valor_total=$aviso_cuenta[valor]-$aviso_cuenta[subsidio]+$aviso_cuenta[deuda_anterior]+$aviso_cuenta[otros];?>"/> </tr> <tr> </tr> </table> </div> <input type="submit" name="guardar_imprimir" id="guardar_imprimir" value=" Imprimir - Guardar " onclick "impre('uno');return false"/> </form> <input type="hidden" name="hiddenField" id="hiddenField" value="1"/> <!-- el iframe permite que al enviar el formulario a la otra pagina los datos del formulario se guarden en la base de datos, pero con el atributo target se le indica que sea rederigido a el <iframe>. --> <iframe name="guardador" id="guardador" height="10" frameborder="0" width="0" > </iframe> </body> </html>
De antemano a quienes puedan ayudarme muchas gracias. :D