您当前的代码很好,但不响应用户事件,这是您绊倒的地方。
$('#inputName, #inputEmail, #inputTel').keyup(function(){
if($(this).val().length > 0){
$("input[type=submit]").prop("disabled", false);
}else{
$("input[type=submit]").prop("disabled", true);
}
});
实际编辑,这是行不通的。因为其中一个元素将导致启用提交按钮,而不管其他元素。我会暂时修复。
编辑这是粗略的修复草案,它可能更漂亮,但绝对是一个很好的起点。
var toValidate = $('#inputName, #inputEmail, #inputTel'),
valid = false;
toValidate.keyup(function () {
if ($(this).val().length > 0) {
$(this).data('valid', true);
} else {
$(this).data('valid', false);
}
toValidate.each(function () {
if ($(this).data('valid') == true) {
valid = true;
} else {
valid = false;
}
});
if (valid === true) {
$('input[type=submit]').prop('disabled', false);
}else{
$('input[type=submit]').prop('disabled', true);
}
});
这是您的 jsFiddle 说明此方法