jQuery ajaxForm "h не определено" проблема - PullRequest
2 голосов
/ 18 марта 2010

У меня есть форма, которая отображается в ajaxed модале, который я использую для обновления пользовательских данных. Когда модальные загрузки я вызываю функцию js:

teamCreate: function() {
$j("#step1,form#createEditTeam").show();
$j("#step2").hide();
var options = {
 type: "get",
 dataType: 'json',
     beforeSubmit:  before,  // pre-submit callback 
     success:       success  // post-submit callback
  };
$j("form#createEditTeam").ajaxForm(options);

function before(formData, jqForm, options){ 
 var valid = $j("form#createEditTeam").valid();
 if (valid === true) {
  $j(".blockMsg").block({ message: $j('#panelLoader') });
      return true; // submit the form
 } else {
  $j("form#createEditTeam").validate();
  return false; // prevent form from submitting
 }
};

function success(data){
 if (data.status == "success") {
  $j(".blockMsg").unblock();
 } else {
  //
}
};

function error(xhr, ajaxOptions, thrownError){
alert("Error code: " + xhr.statusText);
 };
}

Это прекрасно работает, когда я впервые отправляю форму, независимо от того, сколько раз модал открывается и закрывается. Однако, если я отправляю форму, а затем снова открываю модальное окно и пытаюсь отправить форму снова, я получаю сообщение об ошибке js:

h is undefined

1 Ответ

5 голосов
/ 18 марта 2010

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

...