Mturk从表单验证中排除隐藏的元素

时间:2018-10-15 16:42:30

标签: javascript jquery css mechanicalturk parsley

我正在设计Amazon Mechanical Turk上的一个项目。我想从验证中排除隐藏的元素。这是我的项目设计的一部分:

function hidedivs(id){
  document.getElementById(id).style.visibility ='hidden';
}
function showdivs(id){
  document.getElementById(id).style.visibility = 'visible';
}
 .visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
<div class="form-group"><label name="Q1">1. Do you understand the paragraph?</label>
<label><input name="q1ans"  onclick="showdivs('div1');" required="" type="radio" value="yes" />Yes</label>
<label><input name="q1ans" onclick="hidedivs('div1'); hidedivs('div2');" type="radio" value="no" />No</label>
</div>

<div class="form-group invisible" id="div1"><label name="Q2">2. Here is my second question?</label>
<label><input name="q2ans" required="" type="radio" value="yes" /> Yes </label>
<label><input name="q2ans" type="radio" value="no" /> No </label>
</div>
  

当我为第一个问题选择“否”时,无法提交表格。我认为这是因为验证者仍在处理隐藏的问题。 我尝试使用欧芹命令。例如,我包含以下片段,但它们不起作用: 试用1。

    $(function () {
  $('#mturk_form').parsley().on('field:validated', function() {
      if ($(fieldInstance.$element.style.visibility) == "hidden"){
        fieldInstance.validationResult = true;
        return true;
      }
  });
});

试用2。

window.ParsleyConfig = {
    excluded: 'input[type=button], input[type=submit], input[type=reset], :hidden'
};

$("#mturk_form").parsley();

有什么想法吗?

0 个答案:

没有答案