Well, probably the easiest would be to just make the posts hidden by default, as per this post:
http://www.question2answer.org/qa/2978/is-there-any-way-to-make-new-questions-hidden-by-default#a3089
Then once you submit the form, you would be shown the hidden post, which you could then "show".
As for the IDs, you need a custom layer, like this:
<?php
class qa_html_theme_layer extends qa_html_theme_base {
function doctype(){
qa_error_log($_POST);
global $qa_state;
if(strpos($qa_state,'edit') === 0) {
if(isset($this->content['form_q_edit'])) {
$this->content['form_q_edit']['fields']['title']['tags'] = @$this->content['form_q_edit']['fields']['title']['tags'].' id="qtitle"';
$this->content['form_q_edit']['fields']['notify']['tags'] = @$this->content['form_q_edit']['fields']['notify']['tags'].' id="notify"';
$this->content['form_q_edit']['hidden']['AUTO_SAVE_URL'] = qa_self_html().'" id="AUTO_SAVE_URL';
}
}
qa_html_theme_base::doctype();
}
}
This allows you to get the fields using jQuery. I just put this in a file called qa-wysiwyg-layer.php, then added to the qa-plugin.php file. More information is here:
http://www.question2answer.org/layers.php
Then you have to modify the js file in the autosave plugin to get the required data from the form and process it. But I still don't see this as being feasible; suppose someone writes half a post, then changes their mind? They will end up with half of a hidden post somewhere. It wouldn't work for editing either, since you couldn't hide those posts.
What you need, I think, is an entirely new draft posting system, where the post edits are saved in some table like a wiki. All pretty complicated, not worth the effort, in my mind.