【发布时间】:2019-01-16 11:05:03
【问题描述】:
如何使用自定义 maxlength 限制两个输入?
我正在设置自定义限制 $limit = "500"; 并尝试在两个输入中限制用户单词。我想限制第一个输入的最大长度并计算第一个输入中的字数,而不是用我的自定义限制中剩下的字数限制第二个输入的最大长度。
我想将长度设置在一起,最大长度为 500,一个可以有最大 100,一个可以有最大 400。 如果第一个输入的单词少于 100,则将剩余的单词添加到第二个输入的最大长度。 like : 第一个输入有 95 个单词,还有 5 个单词达到限制。
然后将第二个输入 maxlentgh 更改为 405,
我创建这样的输入:
function maxLength(el) {
if (!('maxLength' in el)) {
var max = el.attributes.maxLength.value;
el.onkeypress = function() {
if (this.value.length >= max) return false;
};
}
}
maxLength(document.getElementById("title"));
function validateLength(el, word_left_field, len) {
document.all[word_left_field].value = len - el.value.length;
if (document.all[word_left_field].value < 1) {
alert("You can add max " + len + " words .");
el.value = el.value.substr(0, len);
document.all[word_left_field].value = 0;
return false;
}
return true;
}
<input type="text" id="title" name="title" maxlength="100" onChange="return validateLength(this, 'word_left', 100);" onKeyUp="return validateLength(this, 'word_left', 100);">
<input type="text" name="word_left" value="100" style="width: 25;" readonly="true" size="3">
<input type="text" id="subject" name="subject" maxlength="400" onChange="return validateLength(this, 'word_left', 400);" onKeyUp="return validateLength(this, 'word_left', 400);">
<input type="text" name="word_left" value="400" style="width: 25;" readonly="true" size="3">
所以两个输入的总和是 500。
我尝试设置 html 5 属性 pattern=".{59,60}" 但它们与设置属性 min 和 length 相同。
但我的 javascript 限制了第一次输入。 我尝试了几种方法,但没有机会使其发挥作用,这将是一个很长的问题,我没有在这里全部提出。
【问题讨论】:
-
不确定我是否理解你。您不想限制 2 个输入元素的最大长度为 500 吗?所以他们每个人可以有 250 个,或者一个 100 和一个 400,等等?
-
我想照你说的做,我想设置长度一起最大长度500,一个可以有100,一个可以有400。谢谢
标签: javascript php html