我能做到吗?我试图在条件php“if”之后调用javascript函数
<script type="text\javascript">
functioncall = (function(id){
alert(id);
});
</script>
<?php
if(isset($_get['id']){
echo "<script>functioncall({$_get['id']});</script>";
}
?>
答案 0 :(得分:1)
在php条件中使用$ _GET而不是$ _get,我已经纠正了一些错误,如脚本标记脚本类型和PHP $ _GET
<script type="text/javascript">
functioncall = (function(id){
alert(id);
});
</script>
<?php
if(isset($_GET['id'])){
echo "<script>functioncall('{$_GET['id']}');</script>";
}
?>
答案 1 :(得分:1)
或者只是使用JS?
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
并且喜欢......
var id = getQueryVariable('id');
if(id) {
alert(id);
}
信用:http://css-tricks.com/snippets/javascript/get-url-variables/
答案 2 :(得分:0)
正如昆汀所说,你接受了XSS攻击。不要在GET变量(url变量)中为页面添加任何内容 - 在你的情况下为'id'。
无论如何,如果你想根据php条件调用一个函数,你可以这样做:
<script type="text\javascript">
functioncall = (function(id){
alert(id);
});
</script>
<?php
if(condition-goes-here){
?>
<script type="text/javascript">
functioncall(<?php echo 'Put in your php data' ?>);
</script>
<?php } ?>
我没有检查过,希望它能起作用。如果您的条件返回false,则您的函数调用将不会被放入您的页面。
但这不是一个好习惯。