将sql字符串变量传递给javascript函数

时间:2019-05-23 13:53:27

标签: php

我正在尝试将查询中的字符串传递给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函数,但是什么也没发生。

2 个答案:

答案 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>