Javascript window.open по ссылке не работает в PHP

0

У меня есть следующий скрипт, расположенный в верхней части моей веб-страницы, чтобы открыть всплывающее окно на основе параметра URL, который я передал ему...

<Script Language="JavaScript">
function showDetails(source) {
    window.open(source,"","scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no");
}
</Script>

И у меня есть следующий PHP-код, который вызывает функцию для открытия окна и передает URL-адрес...

$QueryResult = @$this->DBConnect->query($SQLString);

            if ($QueryResult !== FALSE) {
                if ($QueryResult->num_rows > 0) {       
                    while (($Row = $QueryResult->fetch_assoc())
                                    !== NULL) {
                        echo "<br /><a href='javascript:showDetails(http://server/~user/PHP/EventDetails.php?PHPSESSID=".session_id()."&EventID=".$Row['EventID'].")'>".
                                htmlentities($Row['Title'])."</a>";
                    }
                }
                echo "</td>";

                if ((($FirstDOW + $i) % 7) == 0) {
                    echo "</tr>";
                }
            }

Когда я нависаю над ссылкой на веб-странице, URL-адрес, переданный функции, выглядит отлично, и я вижу что-то вроде этого внизу браузера, однако, когда я нажимаю ссылку, он ничего не делает...

javascript:showDetails(http://server/~user/PHP/EventDetails.php?PHPSESSID=Hij3234Abdc732hlae&EventID=2)
  • 2
    Знаете ли вы, что ваш URL должен быть строкой, а строка должна быть заключена в кавычки в javascript?
  • 0
    Вам нужны цитаты вокруг URL. Javascript не имеет ни малейшего представления , что http://... есть, но знает , что 'http://...' (обратите внимание на ' кавычку) является строкой ...
Показать ещё 3 комментария
Теги:

2 ответа

2
Лучший ответ

Ошибка синтаксиса.

echo "<br /><a href='javascript:showDetails(\"http://server/~user/PHP/EventDetails.php?PHPSESSID=".session_id()."&EventID=".$Row['EventID']."\")'>".htmlentities($Row['Title'])."</a>";
3

Вы обычно помещаете строки в кавычки, например

echo "<br /><a href='javascript:showDetails(\"http://server/~user/PHP/EventDetails.php?PHPSESSID="
    .session_id()."&EventID=".$Row['EventID']."\")'>".
                            htmlentities($Row['Title'])."</a>";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню