我使用jQuery设置了一个隐藏的必填字段。每当用户试图提交表单时,它都会给出一个错误,说“您的提交有问题。请检查下面的字段。”但是当我检查字段时,没有显示任何错误。我使用隐藏的必填字段作为条件语句,如果衬衫的数量不等于参与者的数量,则显示隐藏的必填字段,如果它们相等,则隐藏必填字段,这将允许用户继续成功提交表单。
$('#input_1_36_1,#input_1_18').change(function() {
var participants = $('#input_1_36_1');
var shirts = $('#input_1_18');
var error = $('#field_1_45');
if (Number(participants.val()) === Number(shirts.val())) {
error.hide();
//$('#field_1_48').hide(); //fake shirts
$('#field_1_18').show(); //shirts
$('#field_1_48').prop("class", "gf_invisible");
} else {
error.show();
error.css('color', 'red');
$('#field_1_48').show(); //fake shirts
$('#field_1_18').hide(); //shirts
// $('#input_1_48').prop("class", "gf_hidden");
//$('#input_1_48').prop("readonly", true);
// $('#field_1_48').prop("class","gf_invisible");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
html here!
1条答案
按热度按时间bqjvbblv1#
使用JS隐藏一个字段不会改变它的必需状态。在PHP中需要自定义验证。就像这样:
另一个更简洁的选择是使用
gform_pre_validation
: