动态地,我在定义的 div 容器中生成一个公式,我想获取发送操作以使用 ajax 发送。
生成 HTML:
<div class="mhuntform">
<form action="/wp-admin/admin-ajax.php" method="POST">
<h2>Title</h2>
<p>A text</p>
<div id="form" style="padding: 5px 0px;">
<p>
<label for="email" style="display: inline-block; margin-right: 10px;">E-Mail</label>
<input type="email" name="email" id="email" placeholder="E-Mail" style="width: 60%;">
</p>
<p>
<button name="mhskl_send" id="mhskl_send">Anmelden</button>
</p>
</div>
</form>
</div>
公式由管理员定义到 wordpress 页面中。在 Javascript (jQuery) 中,我只知道 div 容器的类名(此处为 .mhuntform)。所以在Javascript中我尝试捕捉事件:
// mhuntskl.options.container = '.mhuntform'
$(mhuntskl.options.container).find('form').submit(function(ev){
ev.preventDefault();
var email = $(mhuntskl.options.container).find('input[type="email"]').val();
var res = $.ajax(mhuntskl.options.ajaxurl,{async:false,data:{action:'subscribe',email:email},dataType:'json',type:'POST'}).responseText;
res = $.parseJSON(res);
if (res.success) {
$(mhuntskl.options.container).hide();
}
return false;
}
但不幸的是,提交事件不会捕获,如果我将带有 find 的容器打印到控制台console.log($(mhuntskl.options.container).find('form'))
中,它将只收到一个空对象。
我在这里做错了什么?