Ограничение символов для нескольких textarea
Тук, тук, здрасте.
есть скприт
<script>
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>
<textarea id="1" onKeyDown="limitText(this,this.form.count,100);" onKeyUp="limitText(this,this.form.count,100);"></textarea> <input readonly type="text" name="count" size="3" value="100"> осталось символов Все работает на ура с одним текстовым поле, но ситуация такова, что их можно добавить несколько штук, но id у них разное! И input перестает считать символы, подскажите как это можно поправить. Как привязать input с оставшиеся символами к определенному текстовому полю через его id.:thanks: |
Цитата:
Цитата:
Передавать тот ИД в функцию, а там уже использовать элемент с этим ИД... |
nekada,
А покажите фрагмент вашего html с несколькими текстареа и инпутами. Они все в одной form? |
Цитата:
|
Вообще без id
<textarea oninput="limitText(this,this.nextElementSibling,100);"></textarea>
<input readonly type="text" name="count" size="3" value="100"> осталось символов
<textarea onkeydown="limitText(this,this.nextElementSibling,100);"></textarea>
<input readonly type="text" name="count" size="3" value="100"> осталось символов
<textarea onkeyup="limitText(this,this.nextElementSibling,100);"></textarea>
<input readonly type="text" name="count" size="3" value="100"> осталось символов
<textarea onkeypress="limitText(this,this.nextElementSibling,100);"></textarea>
<input readonly type="text" name="count" size="3" value="100"> осталось символов
<script>
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>
|
Блин! Реально круто :) работает, я так понял всё дело только в этом?
onkeypress="limitText(this,this.nextElementSibling,100);" Заметил, что если поставить br между textarea и input, тогда не работает ) |
:)
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
window.addEventListener('DOMContentLoaded', function() {
var inp = document.querySelectorAll('[name="count"]');
[].forEach.call(document.querySelectorAll('textarea'), function(area, i) {
var count = inp[i], limit = count.value;
area.addEventListener('input', function() {
area.value = area.value.substring(0, limit);
count.value = limit - area.value.length;
});
});
});
</script>
</head>
<body>
<textarea></textarea>
<input readonly type="text" name="count" size="3" value="100"> осталось символов<br>
<textarea></textarea>
<input readonly type="text" name="count" size="3" value="100"> осталось символов<br>
<textarea></textarea>
<input readonly type="text" name="count" size="3" value="100"> осталось символов<br>
<textarea></textarea>
<input readonly type="text" name="count" size="3" value="100"> осталось символов<br>
</body>
</html>
|
рони,
Ваш вариант еще круче, даже в телефоне работает, но я имел ввиду br между textarea и input, а структура такая <li> <img> <textarea></textarea> <br> <input readonly type="text" name="count" size="3" value="100"> осталось символов<br> <span><a href="#">ссылко</a></span> </li> и т.д <li> <img> <textarea></textarea> <br> <input readonly type="text" name="count" size="3" value="100"> осталось символов<br> <span><a href="#">ссылко</a></span> </li> и т.д <li> <img> <textarea></textarea> <br> <input readonly type="text" name="count" size="3" value="100"> осталось символов<br> <span><a href="#">ссылко</a></span> </li> |
Цитата:
|
рони,
Просто я пишу в одном поле,а символы считает в другом, которое ниже, а в самом последнем поле совсем ничего не считает :) пиши сколько хочешь :))))) |
| Часовой пояс GMT +3, время: 02:59. |