1

JS:

var KEYS = { SPACE: 32 };
var str = $('#id_phone_daytime').val();

$("#id_phone_daytime").keyup(function(e) {
    $.trim(str)
    $('#id_phone_daytime').val(str);
    if (e.keyCode == KEYS.SPACE) {
       alert("No space please")
    }
});

html:

请不要空

上面的代码用于验证单个输入字段的空白。它工作正常,但在我的应用程序中,我还有 8 个不同 ID 的输入字段。我还想验证这 8 个输入字段的空白验证。

如何用最少的代码实现相同的功能?

4

3 回答 3

2

不要使用id选择器(必须是唯一的)class,而是使用可用于对元素进行分组的选择器。尝试这个:

var KEYS = { SPACE: 32 };

$(".no-spaces").keyup(function(e) {
    var $this = $(this);
    $this.val($.trim($this.val()));

    if (e.keyCode == KEYS.SPACE) {
        alert("No space please");
    }
});

您现在需要做的就是添加class="no-spaces"相关输入。

于 2013-08-31T11:47:46.173 回答
2
var KEYS = { SPACE: 32 };
$(".no-spaces").keyup(function(e) {
    this.value=$.trim(this.value);
    if (e.keyCode == KEYS.SPACE) {
        alert("No space please");
    }
});
于 2013-08-31T11:49:58.530 回答
1

您可以使用类分配多个选择器,例如

<input type="text" class="validate_white_space">

并像下面这样使用这个类。

var str = $('.validate_white_space').val();

$(".validate_white_space").keyup(function(e) {
    $.trim(str)
    $('#id_phone_daytime').val(str);
    if (e.keyCode == KEYS.SPACE) {
        alert("No space please");
    }
});
于 2013-08-31T11:48:08.857 回答