我正在尝试将查询中的字符串传递给javascript函数。
一个整数将传递给函数,而字符串则不会。
echo "<a href='#' onclick='delete_game({$title});'
class='btn'>Delete</a>";
<script type='text/javascript'>
function delete_game(title){
var answer = confirm('Really?');
if(answer){
window.location = 'delete.php?id=' + title;
}
}
</script>
我希望执行javascript函数,但是什么也没发生。
答案 0 :(得分:1)
您为什么不为此使用ajax?如评论中所述,PHP / JS不好。
在HTML中,您可以执行类似的操作
我假设您正在使用Blade。
<a href="#" onclick="return deleteGame({$title})">Delete Game</a>
然后在您的JavaScript中,使用jQuery执行此操作:
function deleteGame(title){
var answer = confirm('Really?');
if(answer){
$.ajax({
url : "your-php-file.php",
type : 'post',
data : {
title : title
}
})
.done(function(msg){
$("#result").html(msg);
})
.fail(function(error){
console.log(error);
});
}
}
在您的PHP中,您处理从帖子$ _POST接收数据
$title = $_POST['title'];
您可以更好地了解jQuery here的Ajax函数。
答案 1 :(得分:0)
几件事:
我会将window.location
更改为window.location.href
将您的回声更改为:
echo "<a href=\"#\" onclick=\"delete_game('" . $title . "');\" class=\"btn\">Delete</a>";
检查是否设置了$title
var_dump($title);
如果您想使其更加整洁并准备使用jQuery:
<a href="#" class="btn delete" data-title="<?= $title ?>">Delete</a>
<script type='text/javascript'>
$(document).on('click', '#delete', function () {
var title = $(this).data('title');
var answer = confirm('Really?');
if (answer){
window.location.href = 'delete.php?id=' + title;
}
});
</script>