【问题标题】:Blank page after submitting external HIT in MTurk在 MTurk 中提交外部 HIT 后出现空白页
【发布时间】:2014-04-24 08:06:03
【问题描述】:

如果我使用https://workersandbox.mturk.com/mturk/externalSubmit URL 提交我的外部 HIT,它会成功提交给 MTurk(在我的请求者沙箱中,我可以看到结果),但是对于工作人员来说,会出现一个空/空白页面,而不是确认,表示她/他的 HIT 提交成功...

我想,我的表单中的动作参数可能是错误的......

这个空白页面的HTML-Code看起来像:

<html><head>
 <title>&lt;bean:message key="external_submit.title" /&gt;</title>
  <script type="text/javascript">
    function reloadOuterPage() {
        var boxes = top.document.getElementsByName('autoAcceptEnabled');
        if( boxes.length == 0 || !boxes[0].checked ) {
          top.location = top.document.getElementById('hitExternalNextLink').href;
        } else {
          top.location = top.document.getElementById('hitExternalNextAcceptLink').href;
        }
    };
  </script>
 </head>
<body onload="reloadOuterPage();"><bean:message key="external_submit.body">
</bean:message></body></html>

我要提交的表单

<form target="_parent" name="hitForm" style="visibility:hidden" id="hitForm" method="POST"
          action="https://workersandbox.mturk.com/mturk/externalSubmit">

        <input type="hidden" id="assignmentId" name="assignmentId">
        <input type="hidden" id="hitId" name="hitId"/>
        <input type="hidden" id="workerId" name="workerId"/>
        <input type="hidden" id="caption" name="caption" value="TEST">
        <input type="submit" name="Submit" id="submitButton" value="submit" disabled="true">

    </form>
    <button ng-show="!hasAccepted()" disabled>You must first accept the HIT in order to Submit it!</button>
    <button ng-click="submitHit(inputText)" ng-show="hasAccepted()">Submit</button>

submitHit 方法 看起来像这样(id 被正确分配 - 我检查过):

$scope.submitHit = function (cap) {
    $scope.form = document.getElementById("hitForm");
    $scope.assignmentId = "";
    $scope.hitId = "";
    $scope.workerId = "";
    $scope.assignmentId = $scope.turkGetParam("assignmentId");
    $scope.hitId = $scope.turkGetParam("hitId");
    $scope.workerId = $scope.turkGetParam("workerId");
    document.getElementById("assignmentId").value = $scope.assignmentId;
    document.getElementById("hitId").value = $scope.hitId;
    document.getElementById("workerId").value = $scope.workerId;
    $scope.form.submit();
}

非常感谢您的帮助!

【问题讨论】:

  • 和往常一样,一个人在这个“错误”上工作了将近 2 天,在克服了在 stackoverflow 上的询问后,一个人找到了解决方案:我不得不删除目标 =“_parent” 在我的表格中,我看到了,一切正常! :) 很抱歉向你们发送垃圾邮件! ;)
  • 将其发布为答案并接受它,以便其他用户从中学习。这是一个很好的问题/答案。
  • 由于我的声望不够,无法在 8 小时内完成,但现在完成了! ;)

标签: form-submit mechanicalturk


【解决方案1】:

与往常一样,一个人在这个“错误”上工作了近 2 天,在克服了在 stackoverflow 上的询问后,一个人找到了解决方案:我不得不删除表单中的 target="_parent",现在一切正常!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    相关资源
    最近更新 更多