2012-12-01 32 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