0

我试图在触发某些标志时显示密码重置表单。如果没有 password_changed_flag,我有以下基本代码可以提示用户更改密码。根据响应,用户会收到一条回复“是”或“否”的消息。这是代码:

<?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 } ?>

我唯一的问题是,我真正需要做的是显示一个表单,而不是使用$.promptand 。$.msg这是我在其他地方启动表单的代码:

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

我想我的问题是我可以通过单击超链接查看表单,但不是使用超链接查看表单,我需要能够在没有 password_changed_flag 的情况下查看表单,如上面的代码所示。所以,看起来我需要以某种方式模拟上层代码块内的下层代码块。

如何在不依赖超链接的情况下模拟响应超链接所发生的事情?

有任何想法吗?谢谢。

4

2 回答 2

1

如果你想导航到锚名称#ChangePW,这就是链接的作用,你可以在 JavaScript 中这样做:

self.location.hash = "ChangePW";
于 2012-12-01T18:06:13.163 回答
1

您可以使用 Jquery 触发点击

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

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

如果您使用您的标记建议的 fancybox,您也可以使用:

$("#triggerClick").fancybox().trigger('click');
于 2012-12-01T19:14:50.863 回答