Проблема, с которой вы столкнулись, заключается в том, что когда вы вызываете диалоговое окно на DIV, DIV отсоединяется от DOM и повторно присоединяется в конце документа (затем вне формы)
Если вы действительно хотите, чтобы диалог jQuery справлялся с этим, возможно, вы можете попытаться удалить диалог из DOM и вернуть его обратно в форму.
все это не проверено:
<form id="MyForm" name="MyForm" method="post" action="index.php">
<input type="text" id="Input1" name="Input1">
<input type="text" id="Input2" name="Input2">
<div id="hereismydialog">
<div id="dialog">
<input type="text" id="Input3" name="Input3">
<input type="text" id="Input4" name="Input4">
</div>
</div>
<button type="button" onclick="$('#dialog').dialog('open');">Fill out 3 and 4</button>
<input type="submit" value="Submit">
</form>
Когда документ готов, вы делаете:
// prepares the dialog, that will remove it from its location in the document and
// put it at the end
$('#dialog').dialog({ autoOpen: false });
// put it back where it was
$('#dialog').parent().detach().appendTo('#hereismydialog');
Опять же, все это не проверено, я бы попробовал это с firebug / firequery наготове.