最善の解決策は、アンカーを完全に除外し、代わりにクリックイベントを行に追加することです(または、さらに良いことに、テーブルに追加して、ターゲットを検出します)。CSSを使用すると、カーソルを変更してリンクを示すことができます。
PHP:
echo '<table id="yourTable">';
while ($row = mysql_fetch_array($result))
{
echo '<tr class="record" data-id="'.$row['id'].'">';
echo '<td>'.$row['company'].'</td>';
echo '<td>'.$row['project'].'</td>';
echo '<td>'.$row['assignee'].'</td>';
echo '<td>'.$row['current_milestone'].'</td>';
echo '<td>'.$date=date("d-m-Y", strtotime($row['start_date'])).'</td>';
// etc.
echo '</tr>'
}
echo '</table>';
JavaScript:
var table = document.getElementById('yourTable');
table.onclick = function(e)
{
e = e || window.event;
var target = e.target || e.srcElement,
id;
if (target.tagName === 'TD')
{
target = target.parentNode;
}
if (target.tagName === 'TR' && target.className === 'record')
{
window.open('update.php?id=' + id, 'updateWindow');
}
}
CSS:
tr
{
cursor: pointer;
}
td
{
height: 70px;
}