将JavaScript代码放在HTML代码行中不起作用

时间:2012-11-27 23:43:30

标签: php javascript html

JavaScript不会接受下面的代码,怎么回事?

<a href="#" <?php if ($tagOn) {echo 'id="tagOn"' } else {echo 'id="tagOff"'  } ?>
  onclick="addToSearch('xyz')">Xyz</a>

$tagOn是布尔值。

4 个答案:

答案 0 :(得分:3)

我认为如果先定义变量就更清楚了。如果你把太多的逻辑内联在一起会让人感到困惑。

<?php $id = $tagOn ? "tagOn" : "tagOff"; ?>

<a href="#" "<?php echo $id ?> onclick="addToSearch('xyz')">Xyz</a>

答案 1 :(得分:0)

你在每个陈述后忘记了分号,尝试这样的事情:

<a href="#" <?php if ($tagOn) { echo 'id="tagOn"'; } else { echo 'id="tagOff"';  }  ?>
  onclick="addToSearch('xyz')">Xyz</a>

答案 2 :(得分:0)

可能只是缺少的分号

<a href="#" <?php if ($tagOn) { echo 'id="tagOn"'; } else { echo 'id="tagOff"';  }  ?>
  onclick="addToSearch('xyz')">Xyz</a>

更简洁的方法是使用三元运算符:

<a href="#" id=<?php echo ($tagOn) ? '"tagOn"' : '"tagOff"'; ?>
  onclick="addToSearch('xyz')">Xyz</a>

答案 3 :(得分:0)

你忘记了分号!

<a href="#" <?php if ($tagOn) { echo 'id="tagOn"'; } else { echo 'id="tagOff"';  }  ?>
  onclick="addToSearch('xyz')">Xyz</a>