我正在寻找一种优雅的方法来检查输入值是否为空而不是默认值。
例如,假设我们输入的值为Username
,这是一个默认值,一旦用户点击此输入字段Username
,就会被删除,以便用户可以输入他想要的内容。只是为了清楚说明这是加载页面时的样子:
<input type="text" class="defaultValue" value="Username" />
现在默认情况下,这个字段永远不会为空,除非用户会做一些事情让它变空,所以只是为了确保我需要检查这两件事。我这样做的方式非常简单:
if($(".defaultValue").val().length == 0 || $(".defaultValue").val() == "Username")
alert("Please enter your username");
所以这很有效,但看起来很难看。通常我需要处理大量的表单,所以我的代码变得非常难看并且难以管理因为这样,有什么方法可以改进这个吗?
感谢。
答案 0 :(得分:14)
尝试:
if (this.value == '' || this.value == this.defaultValue) {
// value is empty or is default value
}
答案 1 :(得分:3)
尝试编写辅助函数来为您执行此操作。
var isEmptyOrDefault = function(field, default) {
var value = $(field).val();
return (value.length === 0 || value === default);
};
所以你可以使用它:
if (isEmptyOrDefault($('.defaultValue'), 'Username')) {
alert("Please enter your username");
}