'js/formset.js',
'fnpdjango/annoy/annoy.js',
'js/checkfile.js',
+ 'js/checktext.js',
),
'output_filename': 'compressed/base.js',
},
padding: 0 0 0 1em;
margin: 0;
color: red; }
+.submit-form .counter {
+ font-size: small; }
+.submit-form .negative {
+ color: red; }
+
+/*# sourceMappingURL=form.css.map */
margin: 0;
color: red;
}
+ .counter {
+ font-size: small;
+ }
+ .negative {
+ color: red;
+ }
}
self.type = options['type']
self.fields['assignment_id'].initial = answer.assignment.id
max_length = options.get('max_length')
+ if options.get('widget') == 'area':
+ self.fields['value'].widget = forms.Textarea(attrs={'cols': 80, 'rows': 25})
if max_length:
self.fields['value'].validators.append(validators.MaxLengthValidator(int(max_length)))
self.fields['value'].label += u' (maks. %s znaków)' % max_length
- if options.get('widget') == 'area':
- self.fields['value'].widget = forms.Textarea(attrs={'cols': 80, 'rows': 25})
+ self.fields['value'].widget.attrs['data-max-length'] = max_length
if self.type == 'options':
option_set = FieldOptionSet.objects.get(name=options['option_set'])
self.fields['value'].widget = forms.Select(choices=option_set.choices(answer))
--- /dev/null
+$(function() {
+ "use strict";
+ var textarea = $("*[data-max-length]");
+ textarea.before('<p class="counter">Pozostało: <span id="count"></span></p>');
+ function updateCount(){
+ var max_chars = this.getAttribute('data-max-length');
+ var $this = $(this);
+ var remaining = max_chars - $this.val().length;
+ $("#count").text(remaining);
+ $this.prev().toggleClass('negative', remaining < 0);
+ }
+ textarea.on('input', updateCount);
+ textarea.trigger('input');
+});
<h2>{{ assignment.title }} (do {{ assignment.deadline }})</h2>
{% endif %}
<a href="{{ assignment.content_url }}"><strong>Zobacz treść zadania</strong></a>
- <form method="POST" action="" enctype="multipart/form-data">
+ <form method="POST" action="" enctype="multipart/form-data" class="submit-form">
{% csrf_token %}
{% for form, attachment in assignment.attachment_forms %}
{{ form.assignment_id }}