Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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调用ajax后创建的元素_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 找不到使用JQuery调用ajax后创建的元素

Javascript 找不到使用JQuery调用ajax后创建的元素,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我正在创建一个jQueryUI对话框,并在ajax调用中设置其html。其中一部分是带有id集合的表单。但是,当我尝试查找表单时,它失败了。我知道这是因为元素是在解析初始DOM之后创建的,但是我如何刷新/访问该元素(基本上我想使用jQuery表单插件提交表单) 代码如下: $.ajax({ type: "POST", url: lURL, data: lData, dataType: "json" }). done(

我正在创建一个jQueryUI对话框,并在ajax调用中设置其html。其中一部分是带有
id
集合的
表单。但是,当我尝试查找
表单时,它失败了。我知道这是因为元素是在解析初始DOM之后创建的,但是我如何刷新/访问该元素(基本上我想使用jQuery表单插件提交表单)

代码如下:

$.ajax({
       type: "POST",
       url: lURL,
       data: lData,
       dataType: "json"
      }).
     done( function(response){
       if ( response.success ){
         lDialog = $("<div></div>").dialog( {
           height: "auto",
           maxHeight: 800,
           width: 750,
           autoOpen: false,
           buttons: [
             { id: "saveBtn",
               text: "Save",
               icons: {primary: "ui-icon-check" },
               click: function () {
                 var lForm = lDialog.find("#" + formId);
                 processFileActionSubmit(formId, lForm);//calls AjaxSubmit
                 $(this).dialog("close");
               }
             },
             { id: "cancelBtn",
               text: "Cancel",
               icons: {primary: "ui-icon-close"},
               click: function() {
                $(this).dialog("close");
              }
             }],
           close: function (event, ui) { $(this).remove(); },
          resizable: false,
          modal: true
         });
         lDialog.html(response.content);

       };

       lDialog.dialog("open");
      };
    }).
    fail( function(jqXHR, textStatus, errorThrown) {
       alert("Sorry, no info to display.");
    });
$.ajax({
类型:“POST”,
网址:lURL,
数据:lData,
数据类型:“json”
}).
完成(功能(响应){
if(response.success){
lDialog=$(“”)。对话框({
高度:“自动”,
最大高度:800,
宽度:750,
自动打开:错误,
按钮:[
{id:“saveBtn”,
文字:“保存”,
图标:{primary:“ui图标检查”},
单击:函数(){
变量lForm=lDialog.find(“#”+formId);
processFileActionSubmit(formId,lForm);//调用AjaxSubmit
$(此).dialog(“关闭”);
}
},
{id:“取消BTN”,
文本:“取消”,
图标:{primary:“ui图标关闭”},
单击:函数(){
$(此).dialog(“关闭”);
}
}],
关闭:函数(事件,ui){$(this.remove();},
可调整大小:false,
莫代尔:对
});
lDialog.html(response.content);
};
本地对话框(“打开”);
};
}).
失败(函数(jqXHR、textStatus、ERRORSHORN){
警报(“对不起,没有要显示的信息”);
});

感激地收到所有指针。

如果您想将事件绑定到表单,请查看委托事件。如果您只想在表单加载后提交表单,那么您需要在将表单附加到页面后提交表单。如果我错了,请更正我,但您似乎没有将dialog元素附加到DOM?这可能会导致一个问题。我现在有这个工作,但它似乎取决于我试图找到的形式。我在js单元中有3个函数。displaydilog()-在保存按钮函数$(“#文件列表”)中工作processFileActionSubmit()-从保存按钮函数调用:在那里工作提交表单()-从FileActionSubmit调用:不工作。无论如何,我现在将表单从save传递到其他函数。谢谢你的意见。太快了!