Открытие нескольких ссылок в новых вкладках одним щелчком мыши - PullRequest
2 голосов
/ 17 февраля 2011

У меня есть некоторый код PHP:

foreach($moduid as $k=>$mod) {
$random = $k+1; 
echo '<a href="http://mysite.com?y='.$cid.'&t='.$mod.'&s=-2" data-pack="true" id="link'.$random.'">data</a>';
}

И код JS:

$(document).ready(function() {
var $hash = new Array(); // We create new Array     
$('a').click( function(){ // On each click to <a> element
    if ( $(this).attr("data-pack") == "true" ) { // check wether this is one of the links we use
            $hash[$(this).attr("id")] = $(this).attr("href"); // We add href value into $hash object
            $(this).css("color","green"); // Way to mark selected ones
            $(this).attr("data-pack", "selected"); // Change data-pack property value to selected
            return false; // We don't want to execute this yet
    } else if ( $(this).attr("data-pack") == "selected" ) { // In case you change your mind and want to unselect
            $(this).attr("data-pack", "true"); // Change data-pack property back, thanks to Ambrosia pointing it out in the comment
            $(this).css("color","red"); // We mark it as unset
            delete $hash[$(this).attr("id")]; // Remove it from hash
            return false;
    }
});

$("form").submit( function(){ // After we submit
    for (var i in $hash) { // Go trough $hash
            window.open($hash[i]); // And open window for each member
    }
    return false; // We don't actually want to submit form, just open new windows :)
} );        
});

Я использовал кое-что из этого: Открытые ссылки в нескольких окнах браузера / вкладках

Однако это не работает, когда я нажимаю кнопку Отправить.Я не совсем понимаю JS и надеялся, что кто-нибудь узнает, почему нажатие на кнопку submit не открывает все эти ссылки в новых вкладках.Я использую этот jQuery - http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js

Он работает в IE8, но не в Firefox и Chrome, я хочу, чтобы он открывал все ссылки, а не только те, которые я выбрал.Так что, возможно, это не тот JS для работы?

В Firefox он просто переходит по ссылке.

Спасибо

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

Разблокируйте всплывающие окна, и ваш код должен работать.

0 голосов
/ 17 февраля 2011

HTML:

<body>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<?php
foreach($moduid as $k=>$mod) {
$random = $k+1; 
echo '<a href="http://mysite.com?y='.$cid.'&t='.$mod.'&s=-2" data-pack="true" id="link'.$random.'">data</a>';
}
?>
</body>

JS:

$("form").submit(function(){
alert('asdf');      
$('a').each(function(){
        $(this).attr('target','_blank');
        window.open($(this).attr('href'));
    })
    return false;
} );  

работал для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...