Jquery Cookbook模态按钮

时间:2010-02-05 19:39:10

标签: javascript jquery events modal-dialog button

我已经在这两天了,似乎无法得到它。基本上,我从头开始使用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 :(得分:0)

$('#modal_content').load()是一种异步方法,这意味着您在接收新内容之前尝试将点击事件附加到$('#register')元素。您需要使用$('#register').live('click', function() {})或将附加点击处理程序的代码移动到showModal函数中。