Javascript find()将一个表单放入一个不起作用的元素
我动态地将一个公式生成到一个已定义的div容器中,并且我想获取使用ajax发送的send操作 生成HTML的步骤:Javascript find()将一个表单放入一个不起作用的元素,javascript,jquery,forms,find,Javascript,Jquery,Forms,Find,我动态地将一个公式生成到一个已定义的div容器中,并且我想获取使用ajax发送的send操作 生成HTML的步骤: 标题 正文 电子邮件 户口 该公式由管理员在wordpress页面中定义。在Javascript(jQuery)中,我只知道div容器的类名(here.mhuntform)。因此,在Javascript中,我尝试捕捉事件: //mhuntskl.options.container='.mhuntform' $(mhuntskl.options.container)。查找
标题
正文
电子邮件
户口
该公式由管理员在wordpress页面中定义。在Javascript(jQuery)中,我只知道div容器的类名(here.mhuntform)。因此,在Javascript中,我尝试捕捉事件:
//mhuntskl.options.container='.mhuntform'
$(mhuntskl.options.container)。查找('form')。提交(函数(ev){
ev.preventDefault();
var email=$(mhuntskl.options.container).find('input[type=“email”]').val();
var res=$.ajax(mhuntskl.options.ajaxurl,{async:false,数据:{action:'subscribe',email:email},数据类型:'json',类型:'POST'});
res=$.parseJSON(res);
如果(关于成功){
$(mhuntskl.options.container).hide();
}
返回false;
}
但不幸的是,submit事件不会捕获,如果我在控制台console.log($(mhuntskl.options.container).find('form'))
中打印带有find的容器,它将只接收一个空对象
这里我犯了什么错误?如果console.log($(mhuntskl.options.container).length);是1,console.log($(mhuntskl.options.container).find('form').length);为0则只有一个可能的原因。执行代码时,您的表单仍然不在.mhuntform div中。该表单是由另一个javascript生成的。如果不是,则js代码包装在$(document).ready中。是否返回1-console.log($(mhuntskl.options.container).length)这里的关键问题是什么时候运行Javascript?@Adrian我在$(document.ready(function(){});
语句中使用它。@Krasimirconsole.log($(mhuntskl.options.container.length);
是1,console.log($(mhuntskl.options.container.find('form').length);
是0