我需要在输入中搜索某些电子邮件客户端,如果电子邮件客户端匹配,则需要禁用提交表单的按钮。
.HasMaxLenght
似乎不起作用的那条线是这样的:
$('#Email').keyup(function(e){
var email = $('#Email');
var emailValue = $('#Email').val();
var invalidEmails = ['gmail.com', 'yahoo.com', 'hotmail.com', 'yahoo.com', 'yahoo.co.in', 'aol.com', 'abc.com']
for(var i = 0; i <= invalidEmails.length; i++){
if( emailValue.toLowerCase().indexOf( invalidEmails[i]) >= 0){
$('.corporativo-invalid').show();
email.toggleClass('invalid-email');
$('#register-button').prop("disabled",true);
//e.preventDefault();
} else {
$('#register-button').prop("disabled",false);
}
}
});
令我困惑的是,如果我使用相同的功能在按钮上执行click事件,而不是执行keyup事件,那么这样做有效吗?此示例确实有效:
$('#register-button').prop("disabled",true);
但是我需要使用keyup事件。
HTML:
$('#register-button').click(function(e){
var email = $('#Email');
var emailValue = $('#Email').val();
var invalidEmails = ['gmail.com', 'yahoo.com', 'hotmail.com', 'yahoo.com', 'yahoo.co.in', 'aol.com', 'abc.com']
for(var i = 0; i <= invalidEmails.length; i++){
if( emailValue.toLowerCase().indexOf( invalidEmails[i]) >= 0){
$('.corporativo-invalid').show();
email.toggleClass('invalid-email')
$('#register-button').prop("disabled",true);
e.preventDefault();
} else {
$('#register-button').prop("disabled",false);
}
}
});
答案 0 :(得分:0)
尝试将属性type =“ submit”更改为type =“ button”
if( emailValue.toLowerCase().indexOf( invalidEmails[i]) >= 0){
$('.corporativo-invalid').show();
email.toggleClass('invalid-email')
$('#register-button').attr("type","button");
} else {
$('#register-button').attr("type","submit");
}