【问题标题】:Jquery Cookbook Modal buttonJquery Cookbook 模态按钮
【发布时间】:2011-01-13 16:06:21
【问题描述】:

我已经在这两天了,似乎无法理解。基本上,我从头开始使用 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");
});

【问题讨论】:

  • 你是什么意思,'不会识别' - 会发生什么?它不会在页面上呈现吗?不提交吗?
  • 当我单击模式上的#register 按钮时没有任何响应。注册按钮实际上是来自外部页面而不是父页面的 HTML。

标签: javascript jquery events modal-dialog button


【解决方案1】:

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

【讨论】:

  • 好吧,如果那不是金箭 - 就像一个魅力!在这个星期五,一千零一个感谢!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 1970-01-01
相关资源
最近更新 更多