Hola:
Debías haber puesto el código, pero veremos que se puede hacer...
Para el botón del popup, deberías hacer los cambios y enviar, pero luego restaurar los valores, así que tal vez sea mejor que no se trate del tipo submit:
<button type="button" onclick="prever(this.form)" >vista previa</button>
Y en el head definir prever()...
function prever(f) {
ventana = window.open("", "popup", "width=400,height=250");
action_guardado = f.action;
target_guardado = f.target;
with (f) {
action = "popup.php";
target = "popup";
submit();
action = action_guardado;
target = target_guardado;
}
}
Así el submit es forzado, por lo que las validaciones que tuvieras no funcionarían... y fíjate que antes de forzar el submit se guardan y modifican los atributos action y target, y después se recuperan.
El envío normal no deberías modificarlo (supuestamente un botón submit)
Saludos