如何使用JavaScript为字段设置最大长度?

如何使用JavaScript为字段设置最大长度?,javascript,Javascript,我已经有了一个空字段的工作函数。我是否需要另一个函数来设置这些字段的最大长度,或者我是否可以编辑当前函数? 如果是这样的话,我将如何适应最大长度的代码?不要使用JavaScript来完成HTML的工作 <input type="text" name="fname" required maxlength="10" /> 这里有一个功能更完善的方法来检查所有字段。它假设所有字段都具有相同的有效性要求 var maxLength = 8; // or whatever you want v

我已经有了一个空字段的工作函数。我是否需要另一个函数来设置这些字段的最大长度,或者我是否可以编辑当前函数?
如果是这样的话,我将如何适应最大长度的代码?

不要使用JavaScript来完成HTML的工作

<input type="text" name="fname" required maxlength="10" />

这里有一个功能更完善的方法来检查所有字段。它假设所有字段都具有相同的有效性要求

var maxLength = 8; // or whatever you want
var fieldNames = ["fname","sname","houseno", "ad1", "city", "postcode", "mobno"];
var invalidFields = fieldNames.find(function(fieldName) {
    var val = document.getElementById(fieldName).value;
    return val == null || val.length == 0 || val.length > maxLength;
});
if (invalidFields.length) {
    alert("Please fill ALL Required Fields (no more than " + maxLength + " chars)");
    return false;
} else {
    return true;
}

要回答您的问题,您需要另一个最大长度函数。我假设您的validateForm方法在提交表单时被调用。在提交表单之前,最好在页面加载时设置最大长度。如注释中所述,通过HTML属性设置最大长度是最简单的方法。否则,当DOM加载后,您需要运行一个javascript函数,该函数基本上为每个元素设置maxlength属性,例如.setAttribute('maxlength','10')。

Set
maxlength
at
html
您现有的代码不可能工作。您的
if
条件中的逗号与您认为的不一样。如果我必须使用JavaScript。。。我会创建一个新函数还是编辑当前函数?@FrédéricHamidi请解释?解释什么?如果起作用,那么
是如何工作的?布尔人是如何工作的?逗号运算符是如何工作的?我是否需要键入-var val=document.getElementById(fieldName).value;对于每个字段???@Aaron难道你没有忘记分配一个
maxLength
变量吗?@dafyddgj否,你有一个
fieldNames
数组,它将包含所有
输入的
字段ID。@neoselcev我为clarity@dafyddgj您可能不熟悉循环?这里,
Array.prototype.find
对每个字段名执行回调函数,检索字段值,然后检查空值和大小条件。