Jquery 单选按钮值不为空

Jquery 单选按钮值不为空,jquery,html,forms,Jquery,Html,Forms,我正在制作一个类似于向导的web表单的网站,在多个字段集中拆分。因此,输入所需的属性在您到达提交完整表单的最后一张幻灯片之前不起作用。但是,由于只有当前字段集可见,如果您忘记在以前的字段集中填写必填字段,则不会收到警报 这就是为什么我尝试实现一些jQuery来检查具有required属性的输入的值,这样用户就不会出现在第8页并尝试提交表单,而不知道他/她忘记填写第2页的required属性 我遇到的问题是无线电输入。我知道我只需要在整个列表中添加一个必需的属性就可以在HTML中工作,但是由于我的

我正在制作一个类似于向导的web表单的网站,在多个字段集中拆分。因此,输入所需的属性在您到达提交完整表单的最后一张幻灯片之前不起作用。但是,由于只有当前字段集可见,如果您忘记在以前的字段集中填写必填字段,则不会收到警报

这就是为什么我尝试实现一些jQuery来检查具有required属性的输入的值,这样用户就不会出现在第8页并尝试提交表单,而不知道他/她忘记填写第2页的required属性

我遇到的问题是无线电输入。我知道我只需要在整个列表中添加一个必需的属性就可以在HTML中工作,但是由于我的jQuery检查[required]的值,所以无论我选择哪个单选按钮,该值始终是我添加的必需值

这里有一些HTML

在写了这个问题之后,我现在明白了,收音机的值总是我添加了必需的值,但是我如何解决这个问题,所以当加载页面时,它实际上有一个null值,并且只得到一个checked值或实际值,但当选择其中一个选项时,它不是必需的

简单的解决方法是在加载时选择一个框,然后他可以选择另一个框,但我想知道是否可以从无线电输入的空值开始,但仍然使用必需的值


这将是您的解决方案。

我通过添加一个额外的隐藏单选按钮解决了这个问题。此单选按钮具有required属性,因此如果未选择Yes或No,HTML仍会将这些单选按钮视为空

由于隐藏单选按钮的值为null,因此检查值是否为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);
})

在+stepName+'[required]'处的id和[required]之间是否应该有空格?是的,因为它需要从当前可见的以+stepName为目标的字段集中获取所有[required]不正确解释要求?当选择一个选项时,将input required设置为true?我认为您不理解required在这种情况下的作用,@guest271314…阻止表单提交?[required]或:required基本相同。检查我的最新小提琴:
var requiredFields = $(element).find('#' + stepName + ' [required]')
requiredFields.each( function(idx, elem) {
    var val = $(elem).val();
    alert(val);
});
var requiredFields = $(element).find('#' + stepName + ':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);
})