2012-05-10 18 views
0

私はユーザーが2つのボタンを持つページを作っています。一方のボタンはホームページにリダイレクトし、他方のボタンはホームページにリダイレクトするだけでなく、別のリンクに新しいウィンドウ/タブを開く。JQueryを使って、同時に新しいウィンドウをリダイレクトして開くことができますか?

 <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 /アカウント....)私は2つのウィンドウ/タブを開いてから、それを停止しますか、またはそこにあります私はこれを行うことができ、より良い方法。

+0

だから私のようなものに更新します。 – TRR

答えて

0

あなたは同じ機能で、この2つのアクションを入れしようとしないのはなぜ?

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

$(location).attr('href', '/accounts/view/<?=$data['Email']['acctgrpid']; ?>') 
}); 
+0

私は 'open'と' close'メソッド呼び出しの順番を逆にしていますが、 'window.h 'に既に値があるので、jQueryを使って' location.href'に値を代入しません。 – MilkyWayJoe

1

あなたのコードは、それはあなたが説明したものを対やっていることで少し混乱して。あなたのコードが行っていることは、2つのクリックイベントをボタンに追加すること、1つはアカウントにリダイレクトすること、ウィンドウを閉じてwallet_cards/accountに新しいウィンドウを開きます。

また、あなたのwindow.close()はあなたのwindow.open()の前にあります。あなたはボタンのクリックのための2つのイベントハンドラを持っていない理由1にそれらを統合する。..

$('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... 
}); 
+0

おそらく 'window.location .href = '/ wallet_cards/account/<?= $ data [' Email '] [' acctgrpid ']; ?> ';' – MilkyWayJoe

+0

はい、ありがとうございます!コードを適切に更新しました。すべてにjqueryを使用するのにも慣れています... – tonyellard

関連する問題