Index: branches/RC/core/admin_templates/js/forms.js =================================================================== diff -u -N -r9991 -r10579 --- branches/RC/core/admin_templates/js/forms.js (.../forms.js) (revision 9991) +++ branches/RC/core/admin_templates/js/forms.js (.../forms.js) (revision 10579) @@ -25,10 +25,25 @@ errors[prefix] = new Object(); } errors[prefix][field] = error_msg; - addEvent(document.getElementById(element), 'focus', function() { - show_form_error(prefix, field, true) - } ); - addEvent(document.getElementById(element), 'blur', function() {last_shown_error = false} ) + + if (document.getElementById(element)) { + // some controls don't have element to focus on (e.g. swf uploader) + addEvent( + document.getElementById(element), + 'focus', + function() { + show_form_error(prefix, field, true) + } + ); + addEvent( + document.getElementById(element), + 'blur', + function() { + last_shown_error = false + } + ); + } + if (typeof(first_error[prefix]) == 'undefined' || first_error[prefix] == false) { first_error[prefix] = [field, element]; } @@ -97,14 +112,17 @@ this.Resize() if (isset(first_error)) { - for (var i in first_error) { - if (first_error[i] != false) { + for (var i in first_error) { + if (first_error[i] != false) { + if (document.getElementById(first_error[i][1])) { + // some controls don't have element to focus on (e.g. swf uploader) document.getElementById(first_error[i][1]).focus(); - show_form_error(i, first_error[i][0], true); -// alert('focused on '+first_error[i][1]) } + show_form_error(i, first_error[i][0], true); +// alert('focused on '+first_error[i][1]) } } + } addEvent(window, 'unload', function() { if (!unload_legal) { // it's set in submit_kernel_form - if we are submitting form, the unload is already handled @@ -129,7 +147,7 @@ if (_Simultanious_Edit_Message != '') { alert(_Simultanious_Edit_Message); } - + this.InitOnChange(); } @@ -138,9 +156,9 @@ var inputs = window.document.getElementsByTagName('INPUT'); var selects = window.document.getElementsByTagName('SELECT'); var textareas = window.document.getElementsByTagName('TEXTAREA'); - + var groups = [inputs, selects, textareas]; - + for (var g=0; gSetError($field_name, 'required'); + } + return $uploaded_files; } $swf_uploaded_ids = explode('|', $value['tmp_ids']); $swf_uploaded_names = explode('|', $value['tmp_names']);