Помогите пожалуйста, знаю не чего сложного но с js совсем не дружу.
Есть такой скрипт
function make_input(el){
if($(el).attr("class") == 1 )
{
$('<input name="file[]" type="file" value="" class="1" accept="image/jpeg,image/jpg,image/png,image/gif" onchange="make_input(this);"><br>').prependTo("#files");
$(el).attr("class","2");
}
};
И такая форма
<div id="files"><input name="file[]" type="file" value="" accept="image/jpeg,image/jpg,image/png,image/gif" multiple="true" class="1" onchange="make_input(this);"></div>
Смысл в том, что если была добавлена картинка в форму, появляется еще одна форма для картинки.
Как сделать ограничение, скажем до 5 форм, чтоб больше 5 не появлялось?
function make_input(el){
if($(el).attr("class") == 1 && $('.1').lenght <= 5)
{
$('<input name="file[]" type="file" value="" class="1" accept="image/jpeg,image/jpg,image/png,image/gif" onchange="make_input(this);"><br>').prependTo("#files");
$(el).attr("class","2");
}
};
Видимо так.
# Simba (27.10.2017 / 09:32)
function make_input(el){
if($(el).attr("class") == 1 && $('.1').lenght <= 5)
{
$('<input name="file[]" type="file" value="" class="1" accept="image/jpeg,image/jpg,image/png,image/gi
Не работает, формы вообще не добавляются.
# erricss (27.10.2017 / 15:16)
Не работает, формы вообще не добавляются.
Хз может из за того что у тебя класс называется просто одной цифрой.
Попробуй поменять название класса на нормальное)
$(el).attr("class","2");
это зачем?
erricss, был лишний элемент
$(el).attr("class","2");
рабочий вариант (+/-)
<div id="files">
<input name="file[]" type="file" accept="image/jpeg,image/jpg,image/png,image/gif"
class="1" onchange="make_input(this)">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
function make_input(field) {
var inp = field.outerHTML + '<br>';
$(field).attr('class') == 1 ? $(inp).prependTo('#files') : '';
}
</script>
UPD: Не много модернизировал =)