Jquery验证:当窗体有效时删除类
Jquery Validation: removing class when form is valid
我使用的是一个多部分注册,它在按下下一个按钮时呈现每个连续的表单,并且不会褪色。按钮开始褪色。对于我的第一种形式(非常简化):
<script>
if (registrationStage == 0 && $("#form").valid()) {
nextBtn.removeClass("faded");
};
</script>
我知道表格是有效的,因为("#form").validate{//foo}
工作正常,没有出现错误。如果我将类封装在$("#foodiv").click( function() { // above code});
函数中,我也可以删除它。有没有办法让它听到这些条件是真的,以便解开下一个按钮?
在每个表单上,您可以在每个必须验证的输入上放置一个类:
<input id="FirstName" type="text" required class="ValidatingInput" />
然后向该类的所有元素添加一个事件侦听器,侦听onchange事件。更改事件适用于文本框、文本区域、选择列表、单选按钮组、复选框等:
$(".ValidatingInput").change(ValidateAll);
并定义ValidateAll功能来检查您的输入并启用/禁用按钮:
function ValidateAll()
{
var EverythingChecksOut = true;
if (document.getElementById("FirstName").value.Length = 0) {
EverythingChecksOut = false;
}
... other validations ...
if (EverythingChecksOut) {
nextBtn.removeClass("faded");
} else {
nextBtn.addClass("faded");
}
}
然后,每当用户更改当前注册表中的一个"必需"或关键字段时,您的代码就会进行检查。如果他们满足了所有要求,按钮将不褪色。但是,如果他们的更改使表单处于无效状态,则该按钮将褪色。这意味着,即使他们填写了字段,按钮也不会褪色,但他们会返回并删除其中一个必需的值,然后按钮会再次褪色。
假设您有一个function checkMyForm() { //... }
。
对于<input>
或<texxtarea>
元素,可以使用`.on("input",checkMyForm);
对于<select>
元素,可以使用`.on("change",checkMyForm);
例如,
$('#userId').on('input', checkMyForm );
$('#userPassword').on('input', checkMyForm );
$('#userGender').on('change', checkMyForm );
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 从数组中删除的最有效方法
- 有效地从 DOM 中删除文本节点
- AngularJS new push()ed item to ngRepeat $Scope 不能有效地编辑或删除
- 当我单击删除按钮时查询未运行,即使 .success 说它有效
- Jquery验证:当窗体有效时删除类
- 标题元素获胜't在添加javascript后显示,但在删除它时有效
- 一种从indexedDB对象存储中删除缺少属性的对象的有效方法
- 更有效的方法来删除第一个和最后一个对象
- 有效地从DOM中删除项
- 有没有一种更有效的方法可以在jQuery中添加和删除类
- KnockoutJS:模板不会在可观察数组改变时更新(只在添加时更新,在删除时有效)
- 在剑道网格中添加/删除多个记录的有效方法
- 如何通过命名空间从所有DOM元素中有效地删除事件侦听器
- 如何使用jQuery有效地添加和删除类
- 删除选择选项的方法并非在所有浏览器(JavaScript)中都有效
- 为什么我的 Rails AJAX 删除方法只有在刷新时才有效