2010-02-05 77 views
1

我已經在這裏兩天了,似乎無法得到它。基本上,我從頭開始使用JQuery Cookbook模式。我的問題是表單html頁面加載正常,但代碼不會識別我的提交按鈕。下面的代碼的相關部分:Jquery Cookbook Modal按鈕

獨立的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"); 
}); 
+0

你是什麼意思,'不會承認' - 會發生什麼?它不會在頁面上呈現?它不提交? – 2010-02-05 20:41:52

+0

當我單擊模式上的#register按鈕時沒有任何響應。註冊按鈕實際上是來自外部頁面的HTML而不是父頁面。 – bGood 2010-02-05 21:02:36

回答

0

$('#modal_content').load()是一個異步方法,這意味着你正在嘗試在收到新內容之前將您的點擊事件附加到$('#register')元素。您需要使用$('#register').live('click', function() {})或將附加點擊處理程序的代碼移動到您的showModal函數中。

+0

那麼如果那不是金色的箭頭 - 就像魅力一樣工作!在這個星期五上千和一個謝謝! – bGood 2010-02-05 22:26:32