我想以这样的方式创建我的按钮:如果用户将鼠标悬停在该按钮上,该按钮将被禁用,但是输入字段将为空。这行得通,但是当我填写所有内容并再次将鼠标悬停在按钮上时,它将保持禁用状态。
我查找了以下链接:Remove disabled attribute using JQuery?,然后按此处所说做(尝试了多个答案),但没有一个起作用。我知道变量是正确的,我已经console.log();
了。所以基本上是这样的问题:我在做错什么还是错过了?
代码:
function submitBtn(tracker) {
let btn = ($('<button/>', {
'type': 'submit',
'class': 'btn btn-primary',
'id': 'submitDataBtn',
'name': 'submitDataBtn',
'value': 'submit'
})).text('Submit').hover(function() {
let datePicker = $('#datePicker').val();
let weight = $('#weight').val();
let distance = $('#distance').val();
let timePicker = $('#timePicker').val();
if(datePicker === '' || weight === '' || distance === '' || timePicker === '') {
$(this).attr('disabled', true);
}else if (datePicker !== '' || weight !== '' || distance !== '' || timePicker !== '') {
$(this).prop('disabled', false);
}else {
// do something else
}
});
return btn;
}
答案 0 :(得分:0)
禁用的按钮不能具有悬停事件。如果您希望将其显示为禁用,请使用不透明的类。如果您要停止提交表单,请在表单上使用验证,例如:
document.getElementsByTagName("form")[0]).onsubmit=function() {
return validate(this);
}