【问题标题】:form select with ajax使用ajax进行表单选择
【发布时间】:2013-08-09 23:18:07
【问题描述】:

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

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

    <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,我会更改它,但首先我想有一个答案:)。

谢谢!

【问题讨论】:

  • 你可以使用 jquery 吗?还是您更喜欢使用纯 javascript?
  • @asifrc jquery 没问题! :)
  • 您在尝试为自己研究和实施解决方案方面没有表现出任何努力。 StackOverflow 不是“为我编写代码”论坛。
  • @MikeBrant 对不起,我可以给你看一些代码,但它很糟糕......
  • @SebastiaanSchillebeeckx 您仍然应该显示您的“糟糕”代码。至少它可以帮助人们帮助您准确了解您可能遇到的问题。

标签: php mysql ajax


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你会想要使用 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;
    }
    

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

    【讨论】:

      猜你喜欢
      • 2020-09-15
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多