Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery ajaxForm“;h是未定义的“;问题_Javascript_Jquery_Ajax_Ajaxform - Fatal编程技术网

Javascript jQuery ajaxForm“;h是未定义的“;问题

Javascript jQuery ajaxForm“;h是未定义的“;问题,javascript,jquery,ajax,ajaxform,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:

我有一个在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未定义

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

我在你的代码中没有看到
h
。。。错误是否引用了文件和行号?
h
是jQuery库中的一个变量集。Firebug报告的jQuery中导致问题的行是:(函数(b){function s(c,a){var e=c==…etHack:4};var k=null,m=[]})(jQuery);我假设jQuery将
h
分配为DOM对象,但我不明白为什么分配不正确。因此,问题不是jQuery本身,而是我使用的blockUi插件。它将删除它在消息数组中使用的DOM元素,并且在删除它自身后不会将其放回,因此当它们找不到DOM元素时,会触发blockui错误。嗯。