2016-09-26 3 views
0

Есть темы, похожие на эту тему, но текущие требования более конкретны, и я не мог объединить их с существующими решениями, поэтому попросите сообщество помочь мне. Мне нужно построить текстовой JS валидатор для правил:Личные символы и строки Textarea с Javascript

  • 4 строки 32 символов максимум

  • из 128 символов

  • остающаяся символов счетчика отображается под текстовое поле

  • и другие, которые я уже нашел, как это сделать ...

Не могли бы вы рассказать, как я мог это реализовать?

p.s. Должно быть ясно, решение Javascript

+0

Вы можете посмотреть на TEXTAREA из materializecss в качестве отправной точки HTTP: // materializecss. com/forms.html – eavidan

+0

@eavidan спасибо за ссылку, но я должен был заметить, что должно быть ясное решение для javascript –

ответ

1

Это как ваш код должен выглядеть (смотри также JSFiddle):

var rows = 4; 
var cols = 32; 

var body = document.body; 
var ta = createElem(body, 'textarea'); 
var div = createElem(body, 'div'); 

ta.rows = rows; 
ta.cols = cols; 

ta.addEventListener('keyup',() => { 
    var lines = ta.value.split('\n'); 

    lines = lines 
    .slice(0, Math.min(lines.length, rows)) 
    .map(line => line.substring(0, cols)); 

    ta.value = lines.join('\n'); 
    displayRemaining(cols * rows - ta.value.length + rows - 1); 
}); 

displayRemaining(cols * rows); 

function createElem(a, b){ 
    b = document.createElement(b); 
    a.appendChild(b); 
    return b; 
} 

function displayRemaining(a){ 
    div.innerHTML = 'Characters remaining: ' + a + '.'; 
} 
+0

Спасибо, это почти рабочее решение, просто нужно будет обновить displayRemaining, чтобы показать оставшиеся строки, строки и итоговые строки символы, которые вы уже сделали. –

+0

@OlegSapishchuk. Надеюсь, вы сами это сделаете. –

+0

@ SoftwareEnfineer171 уверен :) У меня уже есть стартовая точка, вам нужно будет ее портировать и улучшить, но основная идея для меня. Еще раз спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^