【发布时间】:2013-07-17 11:52:58
【问题描述】:
如果用户没有提供任何文本,我会尝试禁用提交按钮。
乍一看,一切正常,但如果用户键入一些文本,然后删除它,提交按钮就会启用。
这是我的代码:
$(document).ready(function(){
$('.sendButton').attr('disabled',true);
$('#message').keyup(function(){
if($(this).val.length !=0){
$('.sendButton').attr('disabled', false);
}
})
});
【问题讨论】:
-
添加一个禁用它的 else 语句
-
如果长度为 0,你永远不会禁用它。
-
攻击呢?使用 enable 和 disable 属性是不安全的......只需在浏览器中单击 f12,在 html 中找到提交按钮,然后将禁用的删除!即使输入为空,它也会提交表单。
-
@Elnaz 确实如此,因此您仍然需要在后端包含适当的检查。尽管如此,这对于 UI 改进还是很有用的。另一方面,
keyup不是我的首选。如果用户剪切文本怎么办?.on('input', ...可能是更好的选择。