【发布时间】:2018-06-06 07:27:41
【问题描述】:
想知道是否有人可以提供帮助。作为表单的一部分,我使用一系列按钮来获得满足感,而不是单选或下拉菜单。我正在使用 jquery 来捕获按钮的值并将其添加到隐藏字段 - 表单用于提交信息的字段。
一切正常,但是,我想进行验证,以确保捕获答案 - 但 HTLM5 验证不支持按钮或隐藏字段。是否可以使用 JS 来检查提交时是否按下了按钮,如果没有,则切换该字段的 html 验证器?
这是我到目前为止的代码;
<div class="form-group">
<label class="control-label required input_satisfaction" for="feedbackQuestions[56]">Please rate the venue facilities: <span class="required ">*</span></label>
<input required="required" type="hidden" name="feedbackQuestions[56]" id="feedbackQuestions_56">
<div id="feedbackQuestions_56_group" class="row">
<div class="col-xs-3"><button class="satisfactionBtn btn btn-primary btn-lg btn-block" required="required" name="Questions[56][0]" value="Excellent">Excellent</button></div>
<div class="col-xs-3"><button class="satisfactionBtn btn btn-primary btn-lg btn-block" required="required" name="Questions[56][1]" value="Good">Good</button></div>
<div class="col-xs-3"><button class="satisfactionBtn btn btn-primary btn-lg btn-block" required="required" name="Questions[56][2]" value="Satisfactory">Satisfactory</button></div>
<div class="col-xs-3"><button class="satisfactionBtn btn btn-primary btn-lg btn-block" required="required" name="Questions[56][3]" value="Poor">Poor</button></div>
</div>
<script>
$('#feedbackQuestions_56_group .satisfactionBtn').click(function (e) {
e.preventDefault();
$('#feedbackQuestions_56_group .satisfactionBtn').each(function( index ) {
$( this ).removeClass('active');
});
var thisval = $(this).val();
$('#feedbackQuestions_56').val(thisval);
$(this).addClass('active');
});
</script>
</div>
我知道我需要向页面下方的提交按钮添加一个触发器,所以我可以执行 jquery .click() 然后阻止该事件,直到我检查过,但不确定如何实际检查或如何检查触发验证。
【问题讨论】:
-
为什么不对隐藏字段中的值进行自定义验证?
-
自定义验证是什么意思?很遗憾,隐藏字段不支持所需的属性。
-
我可以使用隐藏字段的 val() 作为我的检查以查看它是否已被回答 - 但是我将如何触发验证错误?
标签: javascript jquery html validation