0

Is there any way to trigger the submit form on Mechanical Turk via a button which isn't their provided 'submit' button? (I require it to submit an empty form to speed up workers time)

I've tried this: $('#mturk_form').submit(); but a "There was a problem submitting this HIT" warning/error returns.

Nihir
  • 344
  • 2
  • 16

1 Answers1

0

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?

Trenton
  • 11,678
  • 10
  • 56
  • 60