2015-09-12 2 views
0

Я создал амазонку Turk HIT. после отправки HIT. мы всегда получаем электронные письма от людей, сообщающих нам, что подача не работает ...amazon turk, submit не работает

честно говоря, я не знаю, что я делаю неправильно.

форма внутри моего HTML:

<form name='mturk_form' method='post' id='mturk_form' action='https://www.mturk.com/mturk/externalSubmit'> 
    <div class="inputs"> 
     <label class="input-green"><input name="EXISTS" type="radio" value="YES" id="ckeck-yes">YES</label> 
     <label class="input-red"> <input name="EXISTS" type="radio" value="NO" id="ckeck-no">NO</label> 
    </div> 
    <input type="hidden" name="IMG_ID" value="${Img_ind}"> 
    <input type="hidden" id="assignment_id" name="assignmentId" value=""/> 

    <p class="text-center"><input type="submit" id="submitButton" class="btn btn-primary" value="Submit"></p> 
</form> 

Javascript:

<script type='text/javascript'> 
    var checkedYes = document.getElementById('ckeck-yes'); 
    var checkedNo = document.getElementById('ckeck-no'); 

    window.onload = function() { 
     var submitButtons = document.getElementById('submitButton'); 

     // Get the Assignment ID, which will be added to your URL by Mechanical Turk. 
     var assignment_id = location.search.match(/assignmentId=(\w+)/)[1]; 
     document.getElementById("assignment_id").value = assignment_id; 

     // Assignment ID "ASSIGNMENT_ID_NOT_AVAILABLE" of indicates preview mode. Warn worker. 
     if(assignment_id == "ASSIGNMENT_ID_NOT_AVAILABLE") { 
      submitButtons.disabled = true; 
      document.getElementById("click_accept_warning").style.display = "block"; 
     } 

     // Get the Submit URL, which will be added to your URL by Mechanical Turk. */ 
     var submit_to_url_base = (location.search.match(/turkSubmitTo=([^=&]+)/)||[])[1]; 
     if(submit_to_url_base) { 
      document.getElementById("mturk_form").action = submit_to_url_base + "/mturk/externalSubmit"; 
     }  


     if(submitButtons) { 
      submitButtons.setAttribute('onclick', 'return validateForm()'); 
     } 
    }; 

    function validateForm() { 
     if(checkedYes.checked == false && checkedNo.checked == false) { 
      alert("Please select the most matching result!"); 
      return false; 
     } 
     return true; 
    } 
</script> 

Что я пропускаю?

+0

Что вы имеете в виду * он не работает? * Нажмите на кнопку не работает, он не отправлять обратно? И используете ли вы такие инструменты, как Firebug, чтобы их диагностировать? –

+0

Я был бы склонен жестко закодировать URL-адрес отправки. Это никогда не меняется (кроме песочницы и живого сервера). – Thomas

+0

спасибо, @JeremyThompson Я делаю это для кого-то, я не в США, поэтому я даже не могу его проверить ..... вы видите что-то не так в моем коде? –

ответ

1

проблема была амазонка турка заменить мой HTTP: // С HTTP% 3A% 2F% 2F

так я создал новый хит, осмотреть новый ХИТ яваскрипт и скопированный 2 яваскрипта функцию от амазонки. Например,

function decode(strToDecode) { 
    var encoded = strToDecode; 
    return unescape(encoded.replace(/\+/g, " ")); 
}; 

function turkGetSubmitToHost() { 
     return decode(turkGetParam("turkSubmitTo", "https://www.mturk.com")); 
}; 

    var form = document.getElementById("mturk_form"); 
    if (form) { 
    form.action = turkGetSubmitToHost() + "/mturk/externalSubmit"; 
    } 

спасибо

Смежные вопросы