OnClick местоположение не работает - PullRequest
0 голосов
/ 24 декабря 2009

** эта строка не работает должным образом / г работает, но $ siteurl /% s-% s.html не работает, я думаю, проблема ("") или (''), пожалуйста, помогите мне исправить это

printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]);

Ответы [ 3 ]

4 голосов
/ 27 декабря 2009

Не используйте двойные кавычки в двойных кавычках (если вы не избежите их правильно):

<a onclick="location.href='http://google.com'">Click Me</a>

Обратите внимание, как я использую одинарные кавычки в своих двойных кавычках. Это удерживает заявление от преждевременного отказа.

Вы могли бы также написать это так:

<a onclick="location.href=\"http://google.com\"">Click Me</a>

Но это делает его немного менее читабельным.

1 голос
/ 24 декабря 2009

Ваш атрибут onClick пропускает завершающую одинарную кавычку. Вот что я думаю должно быть:

printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)'>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]);

Кстати: мне было трудно читать даже эту единственную строку. Подумайте о том, чтобы сделать код более понятным для человека. Кроме того, я рекомендую не использовать подстановку переменных (переменная $ siteurl в вашей строке), когда вы все равно используете printf. Я имею в виду, использовать тот же механизм, чтобы сделать то же самое. Либо используйте только подстановку var, либо используйте только printf formattng, а не оба. Пример:

$html = '
    <a  href="/r?%s" 
        target=_blank 
        onClick="window.open(location.href=%s/%s-%s.html)"
    >
';
printf($html, $wurl, $siteurl, $myrow["wallpaperid"], $myrow["wallpapername"]);
0 голосов
/ 24 декабря 2009

Вам не хватает ни одной кавычки после .html)

Попытка:

printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)'>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...