-2

我正在构建一个错误跟踪工具。

创建项目时,您可以使用此选择表单在项目页面上更改项目状态(打开、进行中和已完成):

    <form action="classes/projectStatus.class.php" method="post">
          <label> Change Project Status </label>
          <select name="status" id="status">
               <option value="Open">Open</option>
               <option value="In Progress">In Progress</option>
               <option value="Finished">Finished</option>
           </select>
           <input type='hidden' name='hdnID' value="<?php echo $id;?>"> 
           <input class="small button" value="Change Status" type="submit"> 
    </form>

这是 projectStatus.class.php 文件:

 $status = $_POST['status'];
 $id     = $_POST['hdnID'];

$sql="UPDATE projects SET status = '$status'";  

 $result = mysql_query($sql); 
 $result = mysql_real_escape_string($sql); 

 if($result){
      header('Location: ../projectpage.php?id='.$id); 
      } else { 
      echo "There is something wrong. Try again later."; } 
      mysql_close();

我怎样才能用 AJAX 做到这一点?谁能给我一些正确的代码?!

我知道表单不是 sql 注入证明,而且我不使用 mysqli,我会更改它,但首先我想有一个答案:)。

谢谢!

4

2 回答 2

0

你会想要使用 jQuery 的$.post()函数。您应该在此处查看文档以获取大量示例。所以你能做的就是改变

<form action="classes/projectStatus.class.php" method="post">

<form onsubmit="return submit();">

然后将提交定义为

function submit()
{
    $.post('classes/projectStatus.class.php', {
            "status": $('#status').val(),
            "hdnID": $('#hdnID').val()
        }, function(response) {
            //your callback function
        });
    return false;
}

此代码未经测试,可能无法正常工作,但它只是为了让您了解该做什么。让我知道这是否有意义或者您有任何问题:)

于 2013-08-09T23:29:46.747 回答
0

我会使用 jquery,它会解决很多兼容性问题。

jquery 网站上有示例代码:http: //api.jquery.com/jQuery.post/

于 2013-08-09T23:23:43.637 回答