Skip to content

Commit

Permalink
netteForms: alert() replaced with span.nette-form-error
Browse files Browse the repository at this point in the history
  • Loading branch information
dg committed May 4, 2014
1 parent ec29bc3 commit 080f333
Showing 1 changed file with 26 additions and 10 deletions.
36 changes: 26 additions & 10 deletions src/assets/netteForms.js
Original file line number Diff line number Diff line change
Expand Up @@ -192,23 +192,39 @@ Nette.isDisabled = function(elem) {
};


/**
* CSS class.
*/
Nette.formErrorClass = 'nette-form-error';


/**
* Display all error messages.
*/
Nette.showFormErrors = function(form, errors) {
if (errors.length) {
Nette.addError(errors[0].element, errors[0].message);
var boxes = form.getElementsByTagName('span');
for (var i = boxes.length - 1; i >= 0; i--) {
if (boxes[i].getAttribute('class') === Nette.formErrorClass) {
boxes[i].parentNode.removeChild(boxes[i]);
}
}
};

for (var i = 0; i < errors.length; i++) {
if (i === 0 && errors[i].element.focus) {
errors[i].element.focus();
}

/**
* Display error message.
* @deprecated
*/
Nette.addError = function(elem, message) {
if (elem.focus) {
elem.focus();
if (errors[i].message) {
var box = document.createElement('span');
box.setAttribute('class', Nette.formErrorClass);
box.textContent = errors[i].message;
errors[i].element.parentNode.insertBefore(box, errors[i].element.nextSibling);
Nette.addEvent(errors[i].element, 'keypress', function() {
if (this.nextSibling && this.nextSibling.getAttribute('class') === Nette.formErrorClass) {
this.parentNode.removeChild(this.nextSibling);
}
});
}
}
if (message) {
alert(message);
Expand Down

0 comments on commit 080f333

Please sign in to comment.