2011-11-24 56 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