динамически я генерирую формуляр в определенный div-контейнер, и я хотел бы захватить отправку-действие для отправки с помощью ajax.jQuery.find() форма в элемент не работает
Сгенерировать 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-container (здесь .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;
}
Но, к сожалению, представить-событие не будет ловить, и если я печатаю containter с найти в консоль console.log($(mhuntskl.options.container).find('form'))
он получил только пустой объект.
Что я здесь делаю неправильно?
Это возвращение 1 - * console.log ($ (mhuntskl.options.container) .length) * – Krasimir
Главный вопрос здесь: ** когда ** вы используете свой Javascript? –
@Adrian я использую его в '$ (document) .ready (function() {});' statement. – WPler