javascript - 通过 onclick 事件调用 php 函数?

标签 javascript php jquery

我想从数据库中删除项目。在删除之前,我想确认用户是否要删除。如果用户单击“确定”,则必须调用删除函数。但是在代码中,当用户单击该函数时,会调用该函数用户不仅单击“确定”,还单击“取消”。对于其他 alter 语句,它工作正常。仅对于调用 php 函数,它会出现问题。

我该如何解决这个问题?

代码是,

<a href="http://localhost/Performance/project/ShowAllProjects.php?project_id='.$row['project_id'].'"><img src="http://localhost/performance/css/delete.png" title="delete"  alt="running test" style="width:15px;height:15px;border:0;margin-left:1cm" Onclick="deleteProject();"/></a>

<script>
    function deleteProject() {      
        var r = confirm("Press a button!");
        if (r == true) {
            //alert("You pressed OK!");
            alert("<?php confirmDelete(); ?>"); 
        } else {
            alert("You pressed Cancel!");              
        }
    }
</script>

<?php
    function confirmDelete(){
        $sql="DELETE FROM project_table WHERE project_id='".$_GET['project_id']."' AND member_id='".$_SESSION['user_id']."';";
        if(mysqli_query($GLOBALS['db'], $sql)) {
            echo "Your test deleted successfully";  
        } else {
            echo "ERROR: Could not able to execute $sql. " . mysqli_error($GLOBALS['db']);
        }
    }
?>

最佳答案

如果可能的话,您应该尝试从您的 View 中删除您的 PHP。如果您将 PHP 函数移至单独的 PHP 文件中并使用 AJAX 调用它们,则可以根据需要在不同页面上重用代码。

这尚未经过完全测试,但我想说这将是一个更干净的解决方案。

为您删除的图像添加一个 ID:

<img id="delete" src="" title="delete"  alt="running test" style="width:15px;height:15px;border:0;margin-left:1cm" onclick="deleteProject()"/>

更改您的 JavaScript 以使用 AJAX 调用 PHP 脚本:

$( document ).on( 'click', '#delete', function(){
    var r= confirm("Press a button!");
    if (r==true)
      {
        $.ajax({
        url: '<?php echo LOCATION_OF_PHP_SCRIPT; ?>',
        type: 'post',
        data: DATA_IF_NEEDED
        }).success( resp )
        {
            if( resp == TRUE )
          {
            alert( "Deleted" );
          }

        }
      }
    else
      {
        alert("You pressed Cancel!");              

      }
})

您将需要调整一些参数以适合您的应用程序,但应该可以让您继续使用。

关于javascript - 通过 onclick 事件调用 php 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50694311/

相关文章:

javascript - 通过匿名函数使用 setInterval 的更好方法

javascript - 尝试从 html 表单和 Node.js 发送数据

PHP - 获取表格中的特定数据

php - 获取最常用行值的百分比

php - 从 JQuery 调用 PHP 文件以检查唯一标识符

javascript - 当我将标记移动到我所在的指定位置时,如何获取 map 中 placeMarker 的纬度和经度以及我的地址

javascript - 使用 javascript 设置 Google +1 按钮 url

javascript - 通过按钮列表添加和删除类

javascript - 当我添加参数时,为什么我的 ajax get 请求无法找到我的处理程序路由?

javascript - 给定一个 jQuery,如何获取第一个结果元素?