Ustawienie dynamicznego pola tekstowego na określoną ilość znaków

0

Jak mogę ustawić aby wypełniający formularz dynamicznego pola tekstowego wpisał określoną ilość znaków nie mniej i nie więcej np 12?

maxlength="12" ogranicza ilość do 12 lecz maksymalnie.

Poniżej kod skryptu, który chciałbym w ten sposób zabezpieczyć. Czy można to zrobić bezpośrednio w php, a nie w javascripcie który można wyłączyć?

<script src="js/addInput.js" language="Javascript" type="text/javascript"></script>
<div id="dynamicInput">
Numer seryjny urządzenia<b><font color="#FF0000">*</font></b> 1: <input type="text" name="myInputs[]" maxlength="12" > np 6544/2014-01
</div>
<input type="button" value="Dodaj kolejny numer seryjny urządzenia" onClick="addInput('dynamicInput');">

kod pliku js/addInput.js

    var counter = 1;
    var limit = 20;
    function addInput(divName){
    if (counter == limit) {
    alert("Można dodać tylko 20 numerów seryjnych urządzenia w jednym formularzu ");
    }
    else {
    var newdiv = document.createElement('div');
    newdiv.innerHTML = "Numer seryjny urządzenia<font color='#FF0000'>*</font> " + (counter + 1) + ": <input type='text' maxlength='12' name='myInputs[]'>";
    document.getElementById(divName).appendChild(newdiv);
    counter++;
    }
    }
0

Możesz spróbować zrobić podwójne zabezpieczenie - w javascripcie, który można wyłączyć i dodatkowo w php - po odebraniu tekstu w pliku php sprawdzasz jego długość i jak nie będzie ok, to odsyłasz z powrotem do formularza z komunikatem, że długość nie jest ok.

0

http://stackoverflow.com/questions/10281962/is-there-a-minlength-validation-attribute-in-html5
tu z wykorzystaniem html5 i pattern, przy czym napisane jest, że trzeba zaznaczyć pole jako wymagane.

https://html.spec.whatwg.org/multipage/forms.html#setting-minimum-input-length-requirements:-the-minlength-attribute
a tu z wykorzystaniem minlength

0

Czy te funkcje działają tylko pod najnowszymi przeglądarkami? Jest jakieś uniwersalne polecenie? Można użyć obydwu czy, będą się ze sobą gryzły? Z tego co patrzyłem to nie działają w ogóle pod Safari. Chociaż za dużo osób chyba z tej przeglądarki nie korzysta chyba, że mają Apple, Macbooki czy iphone.

0

Zrobiłem w html5 pole, które chcę zabezpieczyć musi być wpisane 12 znaków, w tym 4 pierwsze to cyfry następnie / rok obecny 2014 następnie - i 2 cyfry. Czy ktoś może spojrzeć chłodnym okiem co zrobiłem nie tak, że nie chce działać?

pattern="^[0-9]{4}/[2014]{4}-[0-9]{2}$"

1 użytkowników online, w tym zalogowanych: 0, gości: 1