Yes, you can do anything you want to cause the POST to the submit endpoint (e.g. https://www.mturk.com/mturk/externalSubmit
). Adding a assignmentId
param is required, but other than that, it's a standard form submit.
The trick is that you need to pass a param assignmentId
when you submit. The value for this field is set in a query string param when the page loads. (The assignment id lets MTurk know which worker did which piece of work, so it's different everytime a worker views one of your HITs.) Similarly, the form action URL changes between sandbox and prod, so the best practice is to read from the query string param turkSubmitTo
and POST back to that location.
If you're comfortable with JavaScript, read over the "helper" script to see what it's doing: https://s3.amazonaws.com/mturk-public/externalHIT_v1.js
Also, see this answer for a similar question: How do I define what the "submit" button returns on Mechanical Turk?