mirror of
https://bitbucket.org/skobkin/chrome_point_plus.git
synced 2024-11-23 18:56:04 +00:00
Отправлять форму не аяксом, если выбран файл
This commit is contained in:
parent
ec6eb34e22
commit
5faabf04bd
|
@ -38,12 +38,25 @@ AjaxComments.prototype.listenFirstComments = function() {
|
|||
*/
|
||||
AjaxComments.prototype.onSubmit = function(event) {
|
||||
var $form = $(event.target);
|
||||
var proc;
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
if ($form.hasClass('reply-form')) {
|
||||
this.submit($form);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Проверяет, выбран ли файл. Если да — отправляет форму с перезагрузкой, иначе — аяксом
|
||||
* @param {jQuery} $form Элемент формы
|
||||
*/
|
||||
AjaxComments.prototype.submit = function($form) {
|
||||
var proc;
|
||||
|
||||
if (this.isFileSelected($form)) {
|
||||
$form.submit();
|
||||
} else {
|
||||
proc = new AjaxCommentProcessor($form);
|
||||
}
|
||||
};
|
||||
|
@ -63,7 +76,7 @@ AjaxComments.prototype.onKeypress = function(event) {
|
|||
$form = $(event.target).closest('.reply-form');
|
||||
|
||||
if ($form.length) {
|
||||
proc = new AjaxCommentProcessor($form);
|
||||
this.submit($form);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -77,6 +90,16 @@ AjaxComments.prototype.isProperKeys = function(event) {
|
|||
return (event.keyCode === 10 || event.keyCode === 13) && (event.ctrlKey || event.metaKey);
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {jQuery} $form
|
||||
* @return {Boolean} Выбран ли файл
|
||||
*/
|
||||
AjaxComments.prototype.isFileSelected = function($form) {
|
||||
var files = $form.get(0).elements.attach.files;
|
||||
|
||||
return Boolean(files && files.length);
|
||||
};
|
||||
|
||||
/**
|
||||
* Создаётся при каждой отправке комментария
|
||||
* @param {jQuery} $form Элемент формы, на которой это произошло
|
||||
|
|
Loading…
Reference in a new issue