检查输入值是否为空或默认值

时间:2013-03-06 22:14:29

标签: javascript jquery

我正在寻找一种优雅的方法来检查输入值是否为空而不是默认值。

例如,假设我们输入的值为Username,这是一个默认值,一旦用户点击此输入字段Username,就会被删除,以便用户可以输入他想要的内容。只是为了清楚说明这是加载页面时的样子:

<input type="text" class="defaultValue" value="Username" />

现在默认情况下,这个字段永远不会为空,除非用户会做一些事情让它变空,所以只是为了确保我需要检查这两件事。我这样做的方式非常简单:

if($(".defaultValue").val().length == 0 || $(".defaultValue").val() == "Username")
   alert("Please enter your username");

所以这很有效,但看起来很难看。通常我需要处理大量的表单,所以我的代码变得非常难看并且难以管理因为这样,有什么方法可以改进这个吗?

感谢。

2 个答案:

答案 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");
}