2011-11-24 89 views
1

我想在一系列IF後彈出一個模式窗口。假設我有一個表單,我接受輸入,處理它們(在另一個頁面中),如果一切順利,模式窗口會彈出並顯示「謝謝註冊!」。所以,我一直在與迄今如何打開模式窗口

$(document).ready(function() { 
$('a[name=modal]').click(function(e) { ... 

下觸發,我可以使用

<a href="#dialog" name="modal">lalala</a> 

<div id="boxes"> 
<div id="dialog" class="window"> 
Simple Modal Window |<a href="#" class="close"/> Close</a> 
</div> 

不過,我不希望有點擊一個鏈接,打開模態窗口,但IF後有效。所以,試圖做到這一點:

$(document).ready(function() { 
$('div[id=modal]').click(function(e) { ... 

和修改HTML:

<div id="modal" href="#dialog">lalala 

<div id="boxes"> 
<div id="dialog" class="window"> 
Simple Modal Window | 
<a href="#" class="close"/> Seguir</a> 
</div> 
</div> 

</div> 

(可在http://pasionesargentas.webatu.com/test4.php檢查) 但在同一地點結束了(具有LALALA點擊)。什麼都沒有發生如果我改變.click for .bind o .trigger。 任何想法?

+0

也許不是將鏈接的點擊處理程序分配給鏈接,而是要在頁面中捕捉某些變量,模式應該彈出。這個變量可以是一個查詢字符串,具有處理來自前一個表單或甚至隱藏字段的數據的確認。然後捕獲變量並*然後*執行邏輯以打開彈出窗口。 – MilkyWayJoe

+0

好吧,我沒有那麼想。我在JS/jQuery中很新,所以我必須深入研究。謝謝! – cbarg

回答

1

您可以將代碼是並添加$ .trigger()調用模擬點擊事件,而無需實際點擊這樣的DIV:

$(document).ready(function(){ 
    $('#modal').click(function(e){ 
     ... 
    }); 
    $('#modal').trigger('click'); 
}); 

然而,由於蒂亞戈上面提到的,你應該考慮使用查詢字符串或某種隱藏字段來指示表單在前一頁中是否已正確處理。

+0

我想我的解釋並不清楚。我基本上會發送一封帶有鏈接的電子郵件,因此用戶可以打開該頁面(使用散列),並且可以第一次爲該帳戶添加密碼。完成表格並提交後,我確保新的傳球足夠長,兩次傳球是平等的(所有內容都在同一頁面中進行檢查)。如果一切順利,我繼續將它保存在數據庫中(也在同一頁面中),然後我想讓窗口彈出。 – cbarg

+0

@cbarg您有密碼保存時觸發的功能嗎?你是通過AJAX保存的嗎? – dSquared

+0

不,用php和sql – cbarg