I figured it out and it wound up being exactly as you had suggested - create a "dummy" button, reference that component in the control custom properties, then use javascript to click the "dummy" submit button.
The actual requirement is to have a "Save as Draft" and a "Publish" button to give the opportunity for the user to save a document as a draft so it will not show up on the site. There is also a "Save" button on the control that is displayed after a document is published.
One thing I noticed, validation was bypassed on forms that included attachments. I added the following in the asyncFileUploader SSJS script library
function saveUploadedFiles(dataSource, richTextname){
//don't upload anything if validation fails
if (facesContext.getMessages().hasNext()) return;
It seems to work nicely but I haven't fully tested and was wondering if you see the same problem when validating forms? I am using server side validation for the database.
Thanks,
Mike