我正在创建一个类似向导的网络表单的网站,分成多个fieldset
。因此,required
的{{1}}属性在您到达提交完整表单的最后一张幻灯片之前不起作用。但是,由于只显示当前input
,因此如果您忘记在之前的fieldset
中填写required
,则无法收到提醒。
这就是为什么我尝试实现一些jQuery来检查具有属性fieldset
的{{1}}的值,因此用户不会在第8页上结束并尝试提交表单,但不知道他/她忘记填写第2页的input
。
我遇到的问题是required
输入。我知道我只需要在整个列表中添加一个required
,以便在HTML中使用该属性,但由于我的jQuery检查radio
的值,因此无关紧要的是什么单选按钮我选择,该值将始终是我添加所需的值。
这里有一些HTML
required
jQuery
[required]
我现在明白了,在写完这个问题之后,<div class="description">
Pladstype:
</div>
<div class="descriptionData">
<select id="form_billet_pladstype" required>
<option value="" disabled selected>Vælg pladstype</option>
<option value="0">Ståpladser</option>
<option value="1">Siddepladser</option>
<option value="2">Sidde- og ståpladser</option>
</select>
</div>
<div class="description">
Nummererede pladser:
</div>
<div class="descriptionData">
<div class="descriptionData">
<input required type="radio" value="ja" name="form_billet_nummererede" id="form_billet_nummererede_ja" class="descriptionData janej valid"><label for="form_billet_nummererede_ja">Ja</label>
<input type="radio" value="nej" name="form_billet_nummererede" id="form_billet_nummererede_nej" class="descriptionData janej valid"><label for="form_billet_nummererede_nej">Nej</label>
</div>
</div>
<div class="description">
Billet-nr.:
</div>
<div class="descriptionData">
<select name="form_ticketType" id="form_ticketType" required>
<option value="" disabled selected>Vælg billetnr.</option>
<option value="0">Type 0 - Unummereret plads</option>
<option value="14">Type 14 - Unummererede m. niveau, række og plads</option>
<option value="15">Type 15 - Alle felter</option>
</select>
</div/>
的值始终是我添加var requiredFields = $(element).find('#' + stepName + ' [required]')
requiredFields.each( function(idx, elem) {
var val = $(elem).val();
alert(val);
});
的值,但我该如何修复它,所以它实际上是页面加载时的值为radio
,当选择其中一个选项时,只获得required
的值(或实际值,但不是必需的)?
最简单的方法是在加载时选择一个方框,之后他可以选择另一个方框,但我想知道是否可以从无线电的空值开始输入,但仍然使用null
。
答案 0 :(得分:0)
我已经通过添加额外的隐藏radio
按钮来解决问题。此单选按钮具有属性required
,因此如果既未选择是或否,HTML仍会将这些单选按钮视为空。
由于隐藏单选按钮的值为null
,因此检查值是否为空的代码会将其注册为空。
我添加了几行jQuery,从隐藏的单选按钮中删除required
并将其添加到所选的一行,所以我实际上得到了所选的一行(甚至虽然这不是必要的,但只要知道某些东西就足够了。
$('#form_billet_nummererede_ja').bind('click', function(e) {
$('#form_billet_nummererede_hidden').removeAttr('required');
$('#form_billet_nummererede_ja').attr('required', true);
})
$('#form_billet_nummererede_nej').bind('click', function(e) {
$('#form_billet_nummererede_hidden').removeAttr('required');
$('#form_billet_nummererede_nej').attr('required', true);
})
答案 1 :(得分:-1)
var requiredFields = $(element).find('#' + stepName + ':required')
这将是您的解决方案。