jQuery ajaxForm“h未定义”问题

时间:2010-03-18 01:07:28

标签: javascript jquery ajax ajaxform

我有一个以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 个答案:

答案 0 :(得分:5)

为了更快地调试这个,我强烈建议用它的完整版本更改JQuery库的缩小版本,然后再次运行你的代码。使用缩小版本很难找出问题的根源,但如果您运行完整版本,您肯定会发现调试更容易。变量和函数名称会更有意义。