我正在创建一个元素列表,填充了输入的值,我希望在单击提交按钮后清除该值。必须禁用“提交”按钮,直到输入具有值。我已经到了一半,我认为错误在于以下逻辑:
// Disable submit button until input has value
$('.submit-input').prop('disabled', true);
$('.input-value').keyup(function () {
$('.submit-input').prop('disabled', this.value == '' ? true : false);
})
// After populating a list
$('.input-value').val('');
我检查每个keyup
上的输入值,然后按下提交按钮后,值将附加到元素列表并通过val('')
重置。但是在我再次选择输入之后,即使输入没有值,提交按钮也处于活动状态,例如,重新启动keyup
并且提交按钮的行为符合预期。我认为这是因为keyup
没有触发,因为上次操作是单击提交按钮。我在javascript中几乎是一个总菜鸟,请把我放在正确的方向。关于一般逻辑的任何提示也非常受欢迎!
整个代码位于以下jsfiddle
提前谢谢。
答案 0 :(得分:1)
单击鼠标后,您可以再次禁用该按钮。
$('.submit-input').on('click', function () {
$(this).prop('disabled', true);
/* Other code goes here */
});