Ho sviluppato un'applicazione via web (in ASP). In un funzione mi serve interagire con l'utente dopo aver premuto un pulsante (in pratica al click devo aprire una nuova finestra con dei checkbox e input da passare alla pagina successiva).

Cosa si utilizza in questo caso?

1) Non vorrei aprire una nuova pagina;
2) Ho trovato in Jquery UI le finestre dialog (che ho usato);
3) Conviene utilizzare qualcosa tipo Thickbox ed inserire il contenuto di una pagina nuova?

Al momento ho utilizzato la soluzione 2 che però mi da qualche problema, infatti la struttura è questa:

<form name="frmPrimo" action="vai.asp" method="post">
<input type="text" name="Primo" value="" />
<input type="text" name="Secondo" value="" />
...
<div id="dialog">
<input type="text" name="Terzo" value="" />
<input type="submit" value="Vai" />
</div>
...
Procedi
</form>

Questo più o meno il codice. In pratica una parte del form è nascosta (quella contente il submit) e viene visualizzata solo al click del link. Il problema è che così il dialog viene visualizzato ma premendo sul pulsante di submit non accade nulla (eppure la parte del form dovrebbe è già caricata nella pagina).
Al momento ho trovato questa soluzione:

<form>
<input type="text" name="Primo" value="" />
<input type="text" name="Secondo" value="" />
...
Procedi
</form>
<div id="dialog">
<form name="frmSecondo" method="post" action="vai.asp">
<input type="text" name="Terzo" value="" />
<input type="submit" value="Vai" />
</form>
</div>

In pratica la finestra di dialogo la metto al di fuori del primo form e ci inserisco un secondo form. Così funziona, però il primo metodo mi andrebbe meglio altrimenti devo mettere nel secondo form anche tutti i campi che avevo nel primo.

Domande:
1) Secondo voi perchè la prima soluzione non funziona?
2) E' una soluzione giusta utilizzare il Dialog di jQuery o ci sono soluzioni più corrette?

Grazie.