在PHP Echo中调用Javascript函数

时间:2014-07-26 07:41:17

标签: javascript php jquery ajax

参考This link ,我试图从表中动态删除行。这是我的Javascript功能:

function deleteBox(id){

alert ("Inside Method");
if (confirm("Are you sure you want to delete this record?"))
{
  var dataString = 'id='+ id;
  $("#flash_"+id).show();
  $("#flash_"+id).fadeIn(400).html('<img src="img/loading.gif" /> ');
  $.ajax({
  type: "POST",
  url: "delete.php",
  data: dataString,
  cache: false,
  success: function(result){
           if(result){
                $("#flash_"+id).hide();
                // if data delete successfully
                if(result=='success'){
                     //Check random no, for animated type of effect
                     var randNum=Math.floor((Math.random()*100)+1);
                     if(randNum % 2==0){
                        // Delete with slide up effect
                        $("#list_"+id).slideUp(1000);
                     }else{
                        // Just hide data
                        $("#list_"+id).hide(500);
                     }

                }else{
                     var errorMessage=result.substring(position+2);
                     alert(errorMessage);
                }
          }
  }
  });
}
}

但是,从Php中的 Echo 调用它似乎并没有调用它。这是我的PHP代码:

echo "<td align=\"center\">" . $id."</td>";
echo "<td><a href = 'javascript:deleteBox($id)'>Delete</a></td>";

如果我出错了,请纠正我。我们非常感谢您的早期帮助。

3 个答案:

答案 0 :(得分:2)

<td><a href = 'javascript:deleteBox($id)'>Delete</a></td>

echo "<td><a onClick='deleteBox(" . $id . ");'>Delete</a></td>"; 

在我看来,那就是我会怎么做..

编辑并缩短了jscript;

function deleteBox(idDelete){

alert ("Inside Method");
if (confirm("Are you sure you want to delete this record?"))
{
  $("#flash_" + idDelete).show();
  $("#flash_" + idDelete).fadeIn(400).html('<img src="img/loading.gif" /> ');

  $.post('delete.php', {'id': idDelete}, function(result) {
            if(result){
                $("#flash_" + idDelete).hide();
                // if data delete successfully
                if(result=='success'){
                     //Check random no, for animated type of effect
                     var randNum=Math.floor((Math.random()*100)+1);
                     if(randNum % 2==0){
                        // Delete with slide up effect
                        $("#list_" + idDelete).slideUp(1000);
                     }else{
                        // Just hide data
                        $("#list_" + idDelete).hide(500);
                     }

                }else{
                     var errorMessage=result.substring(position+2);
                     alert(errorMessage);
                }
          }
  });  
} 
你的delete.php中的

$_POST['id'] 

检索ID。

答案 1 :(得分:1)

检查一下,希望这有帮助。而不是id,给出静态值

<td align="center">1</td>
<td><a href='#' onclick='deleteBox(1)'>Delete</a></td>

echo "<td><a href='#' onclick='deleteBox(1)'>Delete</a></td>";

jsfiddle

我正在更新答案,检查警报是否正常。

<script>
function deleteBox(a){
    alert(a);
}   
</script>

<?php
  echo "<a href='#' onclick='deleteBox(1)'>Delete</a>";
?>

答案 2 :(得分:0)

由于你正在使用jQuery,我不会对href中的函数进行调用。尝试这样的事情:

使用Javascript:

$(function() {
$('.delete').click(function() {

var id = $(this).attr('data-id');

alert ("Inside Method");
if (confirm("Are you sure you want to delete this record?"))
{
  var dataString = 'id='+ id;
  $("#flash_"+id).show();
  $("#flash_"+id).fadeIn(400).html('<img src="img/loading.gif" /> ');
  $.ajax({
  type: "POST",
  url: "delete.php",
  data: dataString,
  cache: false,
  success: function(result){
           if(result){
                $("#flash_"+id).hide();
                // if data delete successfully
                if(result=='success'){
                     //Check random no, for animated type of effect
                     var randNum=Math.floor((Math.random()*100)+1);
                     if(randNum % 2==0){
                        // Delete with slide up effect
                        $("#list_"+id).slideUp(1000);
                     }else{
                        // Just hide data
                        $("#list_"+id).hide(500);
                     }

                }else{
                     var errorMessage=result.substring(position+2);
                     alert(errorMessage);
                }
          }
  }
  });
});
});

PHP / HTML:

echo "<td align=\"center\">" . $id."</td>";
echo "<td><a class='delete' data-id='" . $id . "'>Delete</a></td>";