0

ユーザーが2つのボタンを持っているページを操作しています。1つのボタンは単にそれらをホームページにリダイレクトし、もう1つのボタンはそれらをホームページにリダイレクトするだけでなく、新しいウィンドウ/タブを別のリンクに開きます。

     <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']; ?>');
  });

今、私の問題は機能しますが、リンク用に2つのウィンドウ/タブ( "/ wallet_cards / account ....)が開きます。2つのウィンドウ/タブが開かないようにするにはどうすればよいですか、またはこれを行うためのより良い方法があります。

4

2 に答える 2

1

あなたのコードは、あなたが説明したことに対して、それが何をしているのか少し混乱しています。あなたのコードは、ボタンに 2 つのクリック イベントを追加しているように見えます。

また、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

この2つのアクションを同じ機能に入れてみませんか?

$('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 に答える