使用ajax选择表单

时间:2013-08-09 23:18:08

标签: php mysql ajax

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

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

    <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,我会改变这个,但首先我想得到答案:)。

谢谢!

2 个答案:

答案 0 :(得分:0)

我会使用jquery,这将解决许多兼容性问题。

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

答案 1 :(得分:0)

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

<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;
}

此代码未经测试,可能无效,但它只是为了让您了解要执行的操作。如果这有意义或者您有任何疑问,请告诉我们。)