- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Zurb Foundation 4.3.2 Abide 验证不验证复选框。
虽然编写我自己的自定义验证相对容易,但如果我可以更新库来验证就更好了,这样我工作的这个庞大机构的其他用户/开发人员也可以使用这些工具,而无需不得不去挖掘自定义脚本。
如何更新 Abide 以使复选框验证正常工作,而不必更新到 Foundation 5?—这个网站属于一个庞大的组织,升级需要数月、人力和大量预算,而我们没有这些。
示例代码:
<form id="form-name" data-abide="ajax">
<label for="print-checkbox"><input id="print-checkbox" type="checkbox" required name="print-checkbox"> <strong>Blah Blah Blah Label Text</strong>
<small class="error"><span class="icon-exclamation-sign"></span> A warning that only appears if the form doesn't validate.</small>
</label>
<input id="print-submit" type="submit" value="Submit" class="button small radius">
</form>
<script type="text/javascript">
$('#form-name').on('valid invalid submit', function (e) {
e.stopPropagation();
e.preventDefault();
if(e.type === "valid") {
alert("returns valid");
}
return false;
});
</script>
最佳答案
当然,起草这个问题让我开始思考一些解决方案,我想出了一个可行的方案。
首先,I integrated in a fix for Abide 4.3.2 that fixed the incorrect validation of hidden required fields.
接下来,我添加了一些逻辑来支持复选框。
最后,我复制了 radio 验证,做了一些细微的改动,瞧!复选框验证。
这是来自上面 GIT 链接的函数,已修改为包含复选框。注意添加 is_checkbox...
和 } else if (is_checkbox && required) {
:
check_validation_and_apply_styles : function (el_patterns) {
var count = el_patterns.length,
validations = [];
for (var i = count - 1; i >= 0; i--) {
var el = el_patterns[i][0],
required = el_patterns[i][2],
value = el.value,
is_radio = el.type === "radio",
is_checkbox = el.type === "checkbox",
valid_length = (required) ? (el.value.length > 0) : true,
isVisible = $(el).is(":visible");
if (isVisible) {
if (is_radio && required) {
validations.push(this.valid_radio(el, required));
} else if (is_checkbox && required) {
validations.push(this.valid_checkbox(el, required));
} else {
if (el_patterns[i][1].test(value) && valid_length ||
!required && el.value.length < 1) {
$(el).removeAttr('data-invalid').parent().removeClass('error');
validations.push(true);
} else {
$(el).attr('data-invalid', '').parent().addClass('error');
validations.push(false);
}
}
}
}
return validations;
},
然后在下面,我复制了 valid_radio : function (el, required)
并将其重新用于复选框:
valid_radio : function (el, required) {
var name = el.getAttribute('name'),
group = document.getElementsByName(name),
count = group.length,
valid = false;
for (var i=0; i < count; i++) {
if (group[i].checked) valid = true;
}
for (var i=0; i < count; i++) {
if (valid) {
$(group[i]).removeAttr('data-invalid').parent().removeClass('error');
} else {
$(group[i]).attr('data-invalid', '').parent().addClass('error');
}
}
return valid;
},
valid_checkbox : function (el, required) {
var name = el.getAttribute('name'),
group = document.getElementsByName(name),
count = group.length,
valid = false;
for (var i=0; i < count; i++) {
if (group[i].checked) valid = true;
}
for (var i=0; i < count; i++) {
if (valid) {
$(group[i]).removeAttr('data-invalid').parent().removeClass('error');
} else {
$(group[i]).attr('data-invalid', '').parent().addClass('error');
}
}
return valid;
}
砰。使用 Zurb Foundation Abide 4.2.3 验证复选框
关于javascript - Foundation 4.3.2 Abide 不验证复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096609/
我正在使用 Abide 在表单上运行验证,效果很好。但是,如果表单有效或无效,我无法执行操作。 HTML: Submit Javascript: $('#form_sea
我正在使用基础CSS进行前端设计,如何使用Abide(表单验证器)。 示例:...如果我需要在“电话号码”字段中仅允许 10 个字符.. 如果我错了,请纠正我,因为我是使用基础和网络开发的新手。 我已
我尝试使用 Foundation abide 在提交表单时出错。我无法掌握如何允许任何字符通过(限制 2000)并允许换行: 我的代码 trainerDescription : /^.{0,1999}
I'm doing something very similar to this site here 。当您发送页脚中的表单时,成功发送后会出现一个模式窗口,感谢用户提交表单。我已经在 Foundat
例如,如果表单上有 5 个输入字段...输入字段 3 具有有效文本,而输入字段 1 无效,如果单击“提交”,则字段 3 中的输入将显示错误,即使它是有效的。这仅在提交表单时触发,并且在实时 ajax
我正在使用 Zurb Foundation abide 进行表单检查。但我对如何添加检查我的个人表单输入的规则感到困惑。 例如,我有两个字段需要检查它们是否相等。 如果它们相等,则表单将处理到
我希望使用 Foundation 的 Abide 插件来验证上传到 type="file"输入标签中的文件扩展名的类型,但我无法正确验证对 RegExp 的检查。 html: PD
我正在尝试使用 Foundation 设置一个表单,但我发现除了基本的错误检查之外很难做更多的事情。假设我有以下输入字段: 假设用户名正则表达式是一个自定义模式,大致如下: ^[A-Za-z]{3,
我正在根据 Foundation 的 Abide 函数在某种形式上是否有效来运行脚本。当由于某种原因它有效时,表单会提交两次?为什么? 我对两个单独的字段进行了两次单独的 ajax 调用,因为都需要检
昨天 Whatsapp 更新了他们的 iOS 应用程序并发布了官方 URL 方案(api hooks)。 我想尝试一下它,但我现在面临的问题是我不理解整个“abid”的东西?!我从哪里获得联系人 ID
我想创建自己的自定义模式,以便使用 Foundation 6 框架的 Abide 插件验证字段,但是,我找不到任何指示创建模式所需语法的资源。 这是用于验证电子邮件字段的标准 Abide 模式的示例:
有没有一种方法可以关闭 Zurb Foundation 中输入的实时验证,以便仅在实际离开字段时才进行验证? 文档指向变量:live_validate,但将其设置为false 似乎没有任何效果。此外,
我正在尝试为特定联系人打开 whatsapp 对话/聊天。它不会打开所需的聊天,而只会打开应用程序。不知道出了什么问题: let URLString = "whatsapp://send?abid
我正在尝试使用 Zurb Foundation 构建一个快速原型(prototype)。效果很好。我确实有一个问题想弄清楚 their documentation没有帮助我。 将字段验证为信用卡时。我
我尝试使用 uglifyJS2 将所有 JavaScript 文件(来自 ZURB Foundation 6,包括一些自定义文件)连接到一个文件中。 在即将进行的项目中,我不能简单地使用 ZURB 的
Zurb Foundation 4.3.2 Abide 验证不验证复选框。 虽然编写我自己的自定义验证相对容易,但如果我可以更新库来验证就更好了,这样我工作的这个庞大机构的其他用户/开发人员也可以使用
我如何让 WhatsApp 为特定用户撰写消息?我想在我的应用程序中选择联系人时发送短信。 这是我的代码: NSURL *whatsappURL = [NSURL URLWithString:@"wh
这个问题真的很烦我。 在这个简单的形式中: First name 我正在尝试添加一个新字段并让 Foundation 检查它。 $('Last Name').insertBe
我正在使用 Foundation 5.5.3 和 Abide 表单验证进行网站注册。所以我的 JavaScript 看起来像这样: $('form#register').on('valid.fndtn
我更新了我的 ASP.NET MVC 项目以包含表单验证 - Abide (foundation.abide.js),但是当我在表单中包含 data-abide 时,它会抛出一个错误。我将它添加到
我是一名优秀的程序员,十分优秀!