gpt4 book ai didi

javascript - 组合功能+禁用

转载 作者:行者123 更新时间:2023-11-28 01:39:46 26 4
gpt4 key购买 nike

我写了一些验证,它工作得很好,但我似乎无法组合所有三个函数(当调用所有函数并尝试编写 if 语句时,或者可能我只是误解了某些东西),这将对 $('按钮:提交').attr("已禁用", true);当所有三个字段都验证时,该按钮将被启用,当其中一个字段未验证时,它将禁用按钮。

这是我的代码:

$(document).ready(function(){

var form = $("#contact-us");
var name = $("#name");
var nameInfo = $("#nameInfo");
var email = $("#email");
var emailInfo = $("#emailInfo");
var message = $("#message");
var messageInfo = $("#messageInfo");

name.blur(validateName);
email.blur(validateEmail);
message.blur(validateMessage);
name.keyup(validateName);
email.keyup(validateEmail);
message.keyup(validateMessage);

function validateEmail(){
var a = $("#email").val();
var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
if(filter.test(a)){
emailInfo.removeClass("error2");
emailInfo.text("");
return true;
}
else{
emailInfo.addClass("error2");
emailInfo.text("Wrong email");
return false;
}
}

function validateName(){
if(name.val().length < 3) {
nameInfo.addClass("error");
nameInfo.text("Wrote more than 3 characters");
return false;
}
else {
nameInfo.removeClass("error");
nameInfo.text("");
return true;
}
}

function validateMessage(){
if(message.val().length < 10) {
messageInfo.addClass("error3");
messageInfo.text("Wrote more than 15 characters");
return false;
}
else {
messageInfo.removeClass("error3");
messageInfo.text("");
return true;
}
}

});

最佳答案

你可以做的是:

$("input").keyup(function () {
var emailOk = validateEmail();
var nameOk = validateName();
var messageOk = validateMessage();

if (emailOk && nameOk && messageOk) $("button.submit").addClass("show");
});

然后删除您的 blurkeyup 监听器。

Here's a working fiddle .

关于javascript - 组合功能+禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21057575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com