2012-12-01 29 views
0

我试图在某些标志被触发时显示密码重置表单。如果没有password_changed_flag,我有以下基本代码可以提示用户更改密码。取决于响应,用户收到一条消息,说'是'或'否'。下面是代码:在jQuery中模拟超链接单击以启动表单

<?php if(!$password_changed_flag){ 
     <script type="text/javascript">  
     $('#ajaxShield').show();   
     var pw = <?php echo json_encode($this->session->userdata('password')) ?>; 
     $.prompt("Your auto-assigned password must be changed.", pw, 
     function(){ 
      $.msg("Yes.",{header:'Yes', live:10000}); 
      $('#ajaxShield').hide(); 
     }, 
     function(){ 
      $.msg("No.",{header:'No', live:10000}); 
      $('#ajaxShield').hide(); 
     });     
     </script> 
<?php } ?> 

我唯一的问题是,而不是使用$.prompt$.msg,我真正需要做的是为显示形式。这是代码的我在别处会启动形式:

<a href="#ChangePW" return false; class="login-window" >Change Password</a> 

我想我的问题是,我可以用一个超链接的点击查看形式,但不是使用超链接查看表单,我需要在没有password_changed_flag时能够查看表单,如上面的代码所示。所以,它看起来像我需要模拟上代码块内的较低代码块,不知何故。

如何在不依赖超链接的情况下模拟对超链接的响应?

任何想法?谢谢。

+0

那是什么'RET urn false;'在'a'标签的中间做的陈述?那是不对的。 –

+0

它在那里,因为我是一个n00b。既然你告诉我它不属于那里,我会删除它。 – DanielAttard

回答

1

可以触发点击使用jQuery

$('#triggerClick').trigger('click'); 

<a href="#ChangePW" class="login-window" id='triggerClick'>Change Password</a> 

如果您使用的fancybox,你的标记表明你也可以使用:

$("#triggerClick").fancybox().trigger('click'); 
1

如果要导航到锚名#ChangePW,这是链接似乎做什么,你可以做到这一点在JavaScript这样的:

self.location.hash = "ChangePW"; 
+0

是的,我想导航到锚'#ChangePW',但我也需要合并'class =“登录窗口” – DanielAttard