Javascript JS验证问题
我的验证函数是这样的Javascript JS验证问题,javascript,jquery,css,validation,Javascript,Jquery,Css,Validation,我的验证函数是这样的 var fname = $("#fname").val(); var lname = $("#lname").val(); function validate() { var isValid = true; if (!fname) { $("#fname").attr('class', 'invalid'); isValid=false; } if (!lname) {
var fname = $("#fname").val();
var lname = $("#lname").val();
function validate() {
var isValid = true;
if (!fname) {
$("#fname").attr('class', 'invalid');
isValid=false;
}
if (!lname) {
$("#lname").attr('class', 'invalid');
isValid=false;
}
它只是更改未填充输入框的类别
我知道我可以为每个
if
编写else
,如果用户填写了一些输入,我可以更改回默认值(class=“valid”
)。但我如何才能为所有输入创建通用的东西,以便将用户在第一次验证错误后填写的输入更改回默认类 你可以假设一切都是有效的,然后试图反驳,或者你可以尝试证明它的有效性。下面采用第一种方法,将所有类设置为“valid”以与之一致
function validate() {
// Get the current form input state.
var fname = $("#fname");
var lname = $("#lname");
// Assume everything valid until proven otherwise.
var isValid = true;
fname.attr('class', 'valid');
lname.attr('class', 'valid');
if (!fname.val()) {
fname.attr('class', 'invalid');
isValid=false;
}
if (!lname.val()) {
lname.attr('class', 'invalid');
isValid=false;
}
return isValid;
}
嗯。我找到路了
$('input[type="text"],input[type="password"]').keypress(function () {
$(this).attr('class', 'valid');
});
太好了!但是,为什么要在代码中进行过度处理?这将增加不必要的压力。由于对于“已解决”的内容,您将向所有输入类型文本或密码添加“有效”类,因此只需将其添加到直接代码中的实际输入元素:
<input class='valid' ..... />
或者类似的东西…您可以使用
addClass
方法。将invalid
类添加到对象$('your_selector')。添加类('invalid')
,验证后只需使用$('your_selector')。移除类('invalid')
我已经添加了有效类并再次阅读我的答案。这就是按键功能,“将向所有输入类型文本或密码添加“有效”类”-它仅在用户按键时添加有效类其中一种方法是:表单。。。。onSubmit='validateIt(这个);'验证它将遍历表单中的项目,并将每个项目发送给验证(item)。例:函数validateIt(formID){对于每个…验证(项)…}如果!formfield位在语法上无效。移除这两个代币会更接近你想要做的吗?你修复了什么?因此,我们应该有能力删除所谓的“编辑”修复的内容。现在我不知道我有多相信你(不是我不相信)已经修复了。。。一个不存在的问题。。。13天。
function validate(formField) {
if !formField $('#'+formField).removeClass('valid').addClass('invalid');
}