0

我正在处理一个用户有两个按钮的页面。一个按钮只是将它们重定向到主页,另一个按钮不仅将它们重定向到主页,而且还会打开一个新窗口/选项卡到不同的链接。

     <button class="return" type="button">
        <?= $html->image('cross.gif') ?> Return
      </button>
      <button class="walletcards" type="button">
        <?= $html->image('cross.gif') ?> Print Wallet Cards
      </button>

    <script type="text/javascript">
      $(document).ready( function() {
         $('button.return').click( function() {
         $(window.location).attr('href','/accounts/view/<?=$data['Email']  ['acctgrpid'];   ?>');
});

$('button.walletcards').click(function(){
 $(location).attr('href', '/accounts/view/<?=$data['Email']['acctgrpid']; ?>')
 });

 $('button.walletcards').click(function(){
  window.close();
  window.open('/wallet_cards/account/<?=$data['Email']['acctgrpid']; ?>');
  });

现在我的问题有效,但它为链接打开了两个窗口/选项卡(“/wallet_cards/account....)我如何阻止它打开两个窗口/选项卡,或者有更好的方法可以做到这一点。

4

2 回答 2

1

您的代码与您所描述的内容相比有点令人困惑。看起来您的代码正在做的是向按钮添加 2 个单击事件,一个重定向到帐户,一个关闭窗口并打开一个新的到 wallet_cards/account。

此外,您的 window.close() 位于您的 window.open() 之前...我会反转这些以防止出现问题。

所以我会更新为:

$('button.walletcards').click(function() {
    window.open('/wallet_cards/account/<?=$data['Email']['acctgrpid']; ?>');
    window.location.href = '/wallet_cards/account/<?=$data['Email']['acctgrpid']; ?>';
    //window.close();  // Not sure why you are redirecting but then closing the window...
});
于 2012-05-10T14:46:29.010 回答
0

你为什么不尝试把这两个动作放在同一个函数中呢?

$('button.walletcards').click(function(){
  window.close();
  window.open('/wallet_cards/account/<?=$data['Email']['acctgrpid']; ?>');

 $(location).attr('href', '/accounts/view/<?=$data['Email']['acctgrpid']; ?>')
 });
于 2012-05-10T14:42:01.057 回答