onload не работает после window.location
В mypage.php в body onload e меня определена функция:
<body onload="showVotes(1,78);"> function showVotes(isShowing, band_id) { /* 0 - show stars, 1 - show votes */ if (isShowing == 1) { document.getElementById('votes' + band_id).style.display = 'block'; document.getElementById('stars' + band_id).style.display = 'none'; } else { document.getElementById('votes' + band_id).style.display = 'none'; document.getElementById('stars' + band_id).style.display = 'block'; } } Когда я загружаю mypage.php в стилях элементов votes78 и stars78 присутствуют "display: block" или "display: none;" Но когда я выполняю window.location(mypage.php?id=3) в onload страницы (я смотрю в исходном коде) все еще есть showVotes(1,78); , но у элементов votes78 и stars78 нету с стилях "display: block;" или "display: none;" У них в стилях вообще нету display. Почему так происходит и как это можно пофиксить? |
window.location вообще-то не функция.
к тому же если вы передаете в функцию строку, то ее надо соотвественно обрамлять в кавычки правильный редирект будет выглядеть так: window.location.href="mypage.php?id=3" к тому же после редиректа onload прекрасно работает.сами попроьбуйте. вставьте в неачале функции alert('!'), и убедитесь сами. если же не сработает, то ошибка в чем-то другом у вас |
У меня страничка состоит из header.php и mypage.php. И перед <? include(header.php) ?> я устанавливаю $onload = 'onload = showVotes(1,78)' а потом в хедере использую так:
<body <?php echo $onload; ?>> Я добавляю alert('!') в showVotes. Проблема в том что при загрузке функция вызывается, а после window.location - нет. А как это решить - не знаю. В гугле пока нчиего не нашлось. |
да быть такого не может.
создайте самую простую тестовую страницу. никаких ПХП. никаких лишник тегов. и убедитсь. а потом ищите в чем проблема. либо дайте ссылку на ваше страницу, чтобы можно было посмотреть |
Да, действительно это была моя ошибка. Прошу прощения. После создания тестовой страницы все стало ясно. Спасибо.
|
пожалуйста
|
Часовой пояс GMT +3, время: 22:06. |