File tree Expand file tree Collapse file tree 1 file changed +29
-2
lines changed Expand file tree Collapse file tree 1 file changed +29
-2
lines changed Original file line number Diff line number Diff line change @@ -230,12 +230,39 @@ Nette.isDisabled = function(elem) {
230230} ;
231231
232232
233+ /**
234+ * CSS class.
235+ */
236+ Nette . formErrorClass = 'nette-form-error' ;
237+
238+
233239/**
234240 * Display all error messages.
235241 */
236242Nette . showFormErrors = function ( form , errors ) {
237- if ( errors . length ) {
238- Nette . addError ( errors [ 0 ] . element , errors [ 0 ] . message ) ;
243+ var boxes = form . getElementsByTagName ( 'span' ) ;
244+ for ( var i = boxes . length - 1 ; i >= 0 ; i -- ) {
245+ if ( boxes [ i ] . getAttribute ( 'class' ) === Nette . formErrorClass ) {
246+ boxes [ i ] . parentNode . removeChild ( boxes [ i ] ) ;
247+ }
248+ }
249+
250+ for ( var i = 0 ; i < errors . length ; i ++ ) {
251+ if ( i === 0 && errors [ i ] . element . focus ) {
252+ errors [ i ] . element . focus ( ) ;
253+ }
254+
255+ if ( errors [ i ] . message ) {
256+ var box = document . createElement ( 'span' ) ;
257+ box . setAttribute ( 'class' , Nette . formErrorClass ) ;
258+ box . textContent = errors [ i ] . message ;
259+ errors [ i ] . element . parentNode . insertBefore ( box , errors [ i ] . element . nextSibling ) ;
260+ Nette . addEvent ( errors [ i ] . element , 'keypress' , function ( ) {
261+ if ( this . nextSibling && this . nextSibling . getAttribute ( 'class' ) === Nette . formErrorClass ) {
262+ this . parentNode . removeChild ( this . nextSibling ) ;
263+ }
264+ } ) ;
265+ }
239266 }
240267} ;
241268
You can’t perform that action at this time.
0 commit comments