2014-04-25 53 views
1

一点自私的问题,但我真的在一般的Ajax中挣扎,所以我需要一些帮助。所以基本上我试图更新和SQL数据库使用'onblur'功能。继承人我的代码:此刻当我点击输入框的SQL数据库没有更新的index.php为什么我的表单没有提交使用ajax

function saveStatus(){ 
var status =document.getElementById("statusForm").value; 
$.ajax({ 
       url: 'saveStatus.php', 
       type: 'post', 
       data: 'feed_id=' + status, 
       success: function(result){ 
       } 
       }  
    <form id="statusUpdate" action = "whosout.php" method="post"> 
     <input type="text" id="statusForm" onblur="saveStatus()" 
     placeholder="<?php if($status!=null){ echo '&lsquo;'.$status.'&rsquo;';} 
     else { echo 'Enter your status here.';}?>"> 
     </form> 

和代码

代码上saveStatus.php

<? 
    require 'core.php'; 
    require 'connect.php'; 

     $status = $_POST['feed_id']; 
     $idPerson = $_SESSION['user_id']; 
     $query = "UPDATE person SET status = '".mysql_real_escape_string($status)."' 
    WHERE idPerson = '$idPerson'"; 
    $query_run = mysql_query($query); 
    ?> 

。任何帮助将是伟大的!

+1

请尝试缩小错误。 –

+1

检查浏览器控制台中的错误。 –

回答

5

答:

  1. 你必须devide脚本和HTML输出
  2. 你忘了);。你必须关闭$.ajax块。
  3. 您错过}关闭功能saveStatus()

代码:

<script> 
function saveStatus(){ 
    var status =document.getElementById("statusForm").value; 
    $.ajax({ 
     url: 'saveStatus.php', 
     type: 'post', 
     data: 'feed_id=' + status, 
     success: function(result){ 

     } 
    }); // <-- Also, you forget `);` here 
} // <-- Also, you foget closing `}` here 
</script> 

<form id="statusUpdate" action = "whosout.php" method="post"> 
<input type="text" id="statusForm" onblur="saveStatus()" 
placeholder="<?php if($status!=null){ echo '&lsquo;'.$status.'&rsquo;';} 
else { echo 'Enter your status here.';}?>"> 
</form> 

不是错误,但建议:

此外,请注意这一点:你使用jQuery的ajax功能,所以在其他情况下使用jQuery太(你使用纯JavaScript代替)。

您获得价值是这样的:

var status = document.getElementById("statusForm").value; 

使用jQuery的语法来代替:

var status = $("#statusForm").val(); 

其他信息

如,@Utkanos在评论这个答案注意:

......如果你看错误控制台,所有这些都会很明显。

您必须使用一些调试工具,如FireBug或DevTools(Chrome,也可以在Chrome中使用CTRL + SHIFT + J)。不必。你必须做。

+0

......如果你看错误控制台,所有这些都是显而易见的。 – Utkanos

+1

另外,提及'$('#statusForm')。val()'而不是'var status = document.getElementById(“statusForm”)。value;'。 –

+1

@ WereWolf-TheAlpha,完成。 –