1

第一次尝试使用 AJAX 在我的数据库中插入记录。我有以下...

形式

 <form>
     <input type="text" id="salary" name="salary">
     <input type="button" onclick="insertSalary()">
 </form>

AJAX

<script type="text/javascript">

function insertSalary()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById('current-salary').innerHTML=xmlhttp.responseText;
    }
  };
xmlhttp.open("POST","insert_salary.php",true);
xmlhttp.send("salary=" + document.getElementById("salary").value);
}

</script>

PHP

$uid = $_SESSION['oauth_id'];      
$monthly_income = mysql_real_escape_string($_POST['salary']);

#Insert a new Record
$query = mysql_query("INSERT INTO `income` (user_id, monthly_income) VALUES ($uid, '$monthly_income')") or die(mysql_error());
$result = mysql_fetch_array($query);
return $result;

现在我的数据被插入到表中,除了输入为“0”的“薪水

插入后,我还有一个 div 'current-salary',然后应该用输入的值填充它,但它不是,有人可以帮助我了解我哪里出错了吗?

4

1 回答 1

4

如果您想为自己节省大量时间、精力和心痛,请使用 jquery 库来处理您的 ajax 请求。您可以在http://jquery.com/下载它

将引用(脚本标记)添加到 jquery 脚本后,您的 ajax 请求的 javascript 将变为:

function insertSalary()
{
    var salary = $("#salary").val();
    $.post('insert_salary.php', {salary: salary}, function(data) 
    {
        $("#current-salary").html(data); 
    });
}

还要记住,使用“insert_salary.php”作为 url 意味着它是一个相对路径,并且必须在当前运行脚本的文件夹中。

您的 php 脚本还需要回显您希望注入当前工资标签的任何内容。

于 2012-04-12T19:21:37.600 回答