单选按钮值不为空

时间:2016-01-20 14:00:27

标签: jquery html forms

我正在创建一个类似向导的网络表单的网站,分成多个fieldset。因此,required的{​​{1}}属性在您到达提交完整表单的最后一张幻灯片之前不起作用。但是,由于只显示当前input,因此如果您忘记在之前的fieldset中填写required,则无法收到提醒。

这就是为什么我尝试实现一些jQuery来检查具有属性fieldset的{​​{1}}的值,因此用户不会在第8页上结束并尝试提交表单,但不知道他/她忘记填写第2页的input

我遇到的问题是required输入。我知道我只需要在整个列表中添加一个required,以便在HTML中使用该属性,但由于我的jQuery检查radio的值,因此无关紧要的是什么单选按钮我选择,该值将始终是我添加所需的值。

JSFIDDLE

这里有一些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

2 个答案:

答案 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);
})

Updated fiddle.

答案 1 :(得分:-1)

var requiredFields = $(element).find('#' + stepName + ':required')

这将是您的解决方案。