Jquery Cookbook Модальная кнопка - PullRequest
       27

Jquery Cookbook Модальная кнопка

1 голос
/ 05 февраля 2010

Я занимаюсь этим уже два дня и не могу этого понять. В основном, я использую модальную книгу JQuery Cookbook с нуля. Моя проблема в том, что HTML-страница формы загружается нормально, но код не распознает мою кнопку отправки. Вот соответствующие части кода:

Отдельный HTML:

<div id="contact">
  <form action="" id="register_form" method="post">
    <p>First Name <br />
      <input type="text" id="firstname" name="firstname" /></p>
    <p>Last Name <br />
      <input type="text" id="lastname" name="lastname" /></p>
    <p>Username: <span class="micro">Must be a valid email address</span></span><br />
      <input type="text" id="username" name="username" /></p>
    <p><input type="submit" value="Register" id="register" /></p>
  </form>
</div>

Вот соответствующие части модального кода:

// Insert modal at end of </body>.
$('body').append('<div id="modal_wrapper"><!--[if IE 6]><iframe id="modal_iframe" frameborder="0"></iframe><![endif]--><div id="modal_overlay"></div><div id="modal_window"><div id="modal_bar"><strong>Modal window</strong><a href="#" id="modal_close">Close</a></div><div id="modal_content"><div id="contact"><form><p><input id="firstname" /></p><p><input id="register" /></p></form></div></div></div>');

$('#modal_content').load('mediaKitF.html#contact'.replace('#', ' #'), '', showModal);

$("input[type=text]").focus(function(){
  // Select field contents
  this.select();
});

$('input #firstname').focus();

$('#register').click(function () {
  alert("hello there");
});

1 Ответ

0 голосов
/ 06 февраля 2010

$('#modal_content').load() - это асинхронный метод, который означает, что вы пытаетесь прикрепить событие click к элементу $('#register') до получения нового содержимого. Вам нужно либо использовать $('#register').live('click', function() {}), либо переместить код, прикрепляющий обработчик кликов, в вашу функцию showModal.

...