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 @@ -212,12 +212,39 @@ Nette.isDisabled = function(elem) {
212
212
} ;
213
213
214
214
215
+ /**
216
+ * CSS class.
217
+ */
218
+ Nette . formErrorClass = 'nette-form-error' ;
219
+
220
+
215
221
/**
216
222
* Display all error messages.
217
223
*/
218
224
Nette . showFormErrors = function ( form , errors ) {
219
- if ( errors . length ) {
220
- Nette . addError ( errors [ 0 ] . element , errors [ 0 ] . message ) ;
225
+ var boxes = form . getElementsByTagName ( 'span' ) ;
226
+ for ( var i = boxes . length - 1 ; i >= 0 ; i -- ) {
227
+ if ( boxes [ i ] . getAttribute ( 'class' ) === Nette . formErrorClass ) {
228
+ boxes [ i ] . parentNode . removeChild ( boxes [ i ] ) ;
229
+ }
230
+ }
231
+
232
+ for ( var i = 0 ; i < errors . length ; i ++ ) {
233
+ if ( i === 0 && errors [ i ] . element . focus ) {
234
+ errors [ i ] . element . focus ( ) ;
235
+ }
236
+
237
+ if ( errors [ i ] . message ) {
238
+ var box = document . createElement ( 'span' ) ;
239
+ box . setAttribute ( 'class' , Nette . formErrorClass ) ;
240
+ box . textContent = errors [ i ] . message ;
241
+ errors [ i ] . element . parentNode . insertBefore ( box , errors [ i ] . element . nextSibling ) ;
242
+ Nette . addEvent ( errors [ i ] . element , 'keypress' , function ( ) {
243
+ if ( this . nextSibling && this . nextSibling . getAttribute ( 'class' ) === Nette . formErrorClass ) {
244
+ this . parentNode . removeChild ( this . nextSibling ) ;
245
+ }
246
+ } ) ;
247
+ }
221
248
}
222
249
} ;
223
250
You can’t perform that action at this time.
0 commit comments