Pregunta

Tengo un campo llamado exp delivery date por eso es necesario que el usuario ponga una fecha y luego presione Imprimir . Sin embargo, la función de impresión no captura el texto introducido. Así que hice lo siguiente:

$('#exp').live('change',function(){         
                var deliv = $('#exp').val();
                $('#delivDate').replaceWith("<p id='delivDate'>" + deliv + "</p>");
                $('#exp').val('');
            }); 

'# exp' es el identificador de entrada y '#delivDate' es una etiqueta <p> justo al lado de la entrada. Yo sólo estoy haciendo esto para que el .print() lo cogerá?

Puede alguien pensar en una mejor manera de hacer esto? (No funciona en IE pero lo hace en FF por cierto)

¿Fue útil?

Solución

Otra forma de lograr esto podría ser el uso de un plugin de jQuery llamado Imprimir Elemento que es capaz de imprimir cualquier elemento específico existente en el DOM. O la totalidad de la misma.


Si tiene problemas para averiguar la mecánica de cómo hacer el texto introducido imprimible entonces aquí hay un ejemplo:

<textarea id="exp"></textarea>
<p id="delivDate"></p>

<script type="text/javascript">
$('#exp').live('change',function(){          
    var deliv = $('#exp').val();
    $('#exp').css('display', 'none'); // optional
    $('#delivDate').text(deliv);
    $('#exp').val(''); 
});
</script>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top