我 95% 都在编写 HTML5 的“必需”属性回退,我遇到了一个小问题,据我所知,我已经走到了尽头!
工作原理:检测“必需”属性、循环遍历并以多种方式提醒用户(提交时将数据输入字段)。
问题:我将表单更进一步,并希望也需要复选框和单选按钮。通过这样做,我需要为每个单选框/复选框添加一个必需的属性。我需要找出如何区分按钮组,因为目前您需要勾选/取消勾选两组按钮以验证表单并让您提交。所以简而言之,例如,我有三个必需的收音机,每个都需要打勾,我如何在循环输入时检测到其中一个必需的收音机/选中的打勾 - 我假设这将通过匹配来完成name' 属性,如果未选择名称组中的任何内容,则仅警告一个错误。
这是我的循环的状态,你可以看到我也检测到输入类型,只是不确定接下来的步骤。如果有人愿意提供帮助,下面还有一个 jsFiddle。非常感谢。
// loop through class name required
$('.required').each(function () {
// this
var self = $(this)
// check shorthand if statement for input[type] detection
var checked = (self.is(':checkbox') || self.is(':radio')) ? self.is(':not(:checked)') : false
// run the empty/not:checked test
if (self.val() === '' || checked) {
// show error if the values are empty still (or re-emptied)
// this will fire after it's already been checked once
self.siblings('.form-error').show()
// stop form submitting
e.preventDefault()
// if it's passed the check
} else {
// hide the error
self.siblings('.form-error').hide()
}
})
这是我的 jsFiddle:http: //jsfiddle.net/zykF9/