Может ли кто-нибудь помочь мне ограничить ввод в типе = "число", потому что я знаю, что максимальная длина не работает в числовом типе, а также максимальная может работать только в счетчике, я хочу знать, как я могу ограничить ввод при вводе.
<input type = "Number" name = "id" class = "form-control" max = "9999999" required>
@HassanSiddiqui, это не дубликат этого вопроса. Этот вопрос спрашивает, почему это не работает, и ответ работает для него. Однако OP в этом вопросе знает, что это не сработает, и хочет, чтобы они не превышали максимальный набор пока. В ответе на первый вопрос он уведомит вас только о том, что вы превысили максимум при попытке отправить форму.
Вы должны были бы использовать некоторый javascript. Код ниже.
Код в основном сохраняет значение ввода (если длина меньше 7), а когда длина становится больше 7, он просто заменяет значение поля ввода сохраненным значением.
var text;
document.getElementById("input").addEventListener("keypress", function() {
if (document.getElementById("input").value.length > 7) {
document.getElementById("input").value = text;
}
else {
text = document.getElementById("input").value;
}
});
<form>
<input type = "Number" name = "id" class = "form-control" id = "input" max = "9999999" required>
<input type = "submit" value = "Submit" />
</form>
Вы можете добавить атрибут oninput
с помощью JS:
<input type = "number" maxlength = "6"
oninput = "javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"/>
Возможный дубликат stackoverflow.com/questions/18510845/…