JQuery JEditable остается в режиме редактирования при ошибке - PullRequest
3 голосов
/ 08 апреля 2009

Я успешно использую jeditable для отправки через функцию, используя jQuery.ajax и опция async: false, но у меня проблема прерывание, если возвращается ошибка.

Как я могу получить окно редактирования, чтобы оставаться активированным и / или вернуться к исходное значение, если есть ошибки? Я возвращаю статус http коды.

так что-то вроде

async : false .ajax submit here...
if (xhr.status == 200) {
  return value;
else {
  alert ('returned error');
  // keep edit box activated but available for another try, or revert back to original value
}

Я пытался не возвращать значение из функции, которая сохраняет редактирование поле активировано и готово к повторной отправке, но затем нажмите клавишу ESC больше не работает, и если я нажимаю за пределами области редактирования, редактирование ящик остается.

Заранее спасибо!

Ответы [ 3 ]

4 голосов
/ 15 июня 2009

Не уверен, поможет ли это в вашей ситуации, но в jeditable есть метод сброса ...

попробовать ...

this.reset ();

это вернет элемент обратно в режим отображения с исходным значением.

0 голосов
/ 16 апреля 2010

Добавить это:

$(this).editable("disable");

Это должно помешать вашим ошибкам быть редактируемыми, не будучи уверенными в возврате. Я вроде как борюсь с той же проблемой с возвращением назад прямо сейчас, но я ничего не знаю о JavaScript ...

0 голосов
/ 23 октября 2009

Чтобы остаться в режиме редактирования, просто установите заголовок ответа «HTTP 404» и отобразите текст ошибки.

PHP:

header('HTTP/1.1 400 Bad Request');
echo "Error Text";
...