Как ограничить два входа с пользовательской максимальной длиной?

Ниже приведены правила, если вы считаете это случайным. Функция полезности может быть создана на основе этих правил.

  1. Если значение содержит запятую, новую строку или двойную кавычку, тогда значение String должно быть возвращено в двойные кавычки.
  2. Любые символы двойной кавычки в значении должны быть экранированы с помощью другой двойной кавычки.
  3. Если значение не содержит запятую, новую строку или двойную кавычку, тогда значение String должно быть возвращено без изменений.
0
задан kuran 16 January 2019 в 12:16
поделиться

2 ответа

Я считаю, что вам нужно что-то вроде этого:

var _maxLength = 500;
var _lengthInput = 0;

var input1 = document.getElementById("input1");
var input2 = document.getElementById("input2");
var p = document.getElementById("total");

p.innerHTML = _maxLength;

input1.addEventListener("focus", function(e) {
  this.maxLength = _maxLength + this.value.length;
  _lengthInput = this.value.length;
});

input1.addEventListener("blur", function(e) {

  if (_lengthInput == this.value.length)
    return;
  if (_lengthInput > this.value.length) {
    _maxLength += _lengthInput - this.value.length;
  } else {
    _maxLength -= this.value.length - _lengthInput;
  }

  total.innerHTML = _maxLength;
});

input2.addEventListener("focus", function(e) {
  this.maxLength = _maxLength + this.value.length;
  _lengthInput = this.value.length;
});

input2.addEventListener("blur", function(e) {
  if (_lengthInput == this.value.length)
    return;
  if (_lengthInput > this.value.length) {
    _maxLength += _lengthInput - this.value.length;
  } else {
    _maxLength -= this.value.length - _lengthInput;
  }

  total.innerHTML = _maxLength;
});
Input 1 <input type="text" id="input1">
<br /> Input 2 <input type="text" id="input2">
<br />
<p>Characters remaining: <span id="total"></span> </p>

0
ответ дан Mark Baijens 16 January 2019 в 12:16
поделиться

Надеюсь, приведенный ниже код поможет вам,

$(document).ready(function () {

	$("#subject").on("keypress", function () {
  	var titleLength = $("#title").val().length;
    var titleMaxLength = $("#title").attr("maxLength");
    var titleWordLeft = titleMaxLength - titleLength
    var subjectLength = $("#subject").data("charlength"); 
    var subjectMaxLength = titleWordLeft + subjectLength;
    $("#subject").attr("maxLength",subjectMaxLength);
    
  });

})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="title" name="title" maxlength="100">

<input type="text" name="word_left" value="100" style="width: 25;" readonly="true" size="3">

<input type="text" id="subject" name="subject" data-charlength="400">


<input type="text" name="word_left" value="400" style="width: 25;" readonly="true" size="3">

0
ответ дан Selvarani 16 January 2019 в 12:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: