<tr> onClick не работает - PullRequest
       3

<tr> onClick не работает

15 голосов
/ 16 марта 2011

Я хочу превратить строки моей таблицы в ссылки, используя JS.У меня это выглядит так:

<tr onClick='javascript:window.location.href='url';'>

Однако, когда я пытаюсь щелкнуть мышью, она не идет по странице, как я хочу.На самом деле, похоже, что нажатие не имеет никакого действия.

Любая помощь?

Изменить:

Что касается цитат, я забыл упомянуть, чтоповторяю это с PHP.Вот мой обновленный код:

echo "<tr onClick='window.location.href='url?id=" . $var . "';'></tr>";

Должен ли я делать что-то вроде экранирования, например /" в этом случае?

Ответы [ 2 ]

22 голосов
/ 16 марта 2011

Прежде всего, нет javascript: в обработчиках событий - они содержат код JavaScript, а не URL.Это просто работает, потому что javascript: является меткой в ​​этом случае и, следовательно, не синтаксической ошибкой.Кроме того, любой редактор с правильной подсветкой синтаксиса показал бы, что вы разбиваете кавычки, поскольку используете одинарные кавычки для атрибута HTML и внутри атрибута.

Вот фиксированный код:

<tr onclick="window.location.href = 'url';">

Кроме того, встроенные обработчики событий грязные.Лучше прикрепите их, используя jQuery:

$('tr').click(function() {
    location.href = 'url';
});
1 голос
/ 16 марта 2011

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

<tr onClick="window.location.href='url';">

А если вы находитесь в цикле и выводите информацию, попробуйте PHP-синтаксис HEREDOC.

$out = '';
foreach ( $x as $y )
{
$out .= <<<HTML
<tr onClick="window.location.href='url';">
HTML;
}
echo $out;

Редактировать: добавлено HEREDOC

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