2015-02-10 106 views
0

目前,我有这个代码我跨度:使用javascript将span更改为输入(viceversa),然后AJAX更新输入?

<span class="subheading"> 
<span id="loadNum"><?php echo $status ?></span> 
&nbsp;&nbsp; 
<i class="fa fa-question-circle" rel="tooltip" title="Click on your status to change it." id="blah"></i> 
</span> 

现在我使用此代码作为JavaScript的:

<script> 
     var switchToInput = function() { 
     var $input = $("<input>", { 
      val: $(this).text(), 
      type: "text", 
      style: "color: #000" 
     }); 
     $input.attr("ID", "loadNum"); 
     $(this).replaceWith($input); 
     $input.on("blur", switchToSpan); 
     $input.select(); 
    }; 
    var switchToSpan = function() { 
     var $span = $("<span>", { 
      text: $(this).val() 
     }); 
     $span.attr("ID", "loadNum"); 
     $(this).replaceWith($span); 
     $.ajax({ 
      type:"POST", 
      url:"includes/ajaxprocess.php", 
      data:{status: status}, 
      success:function(data){ 
       $("#info").html(data); 
      } 

     }); 
     $span.on("click", switchToInput); 
    } 
    $("#loadNum").on("click", switchToInput); 
</script> 

最后但并非最不重要的 ajaxprocess.php

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("blogger"); 

$status=$_POST["status"]; 

$query=mysql_query("UPDATE blog_members (status) values('$status') "); 

if($query){ 
    echo "Your status has been updated"; 
} 
else{ 
    echo "Error in updating your status"; 
} 
?> 

但是,当我更新我的状态,并让输入成为一个跨度时,数据库的字段不会更新。我怎么能做这个工作。

顺便说一句:$状态被定义。别担心这一点。

+0

你的代码是[SQL注入]敞开(http://bobby-tables.com/)。小鲍比桌子的母亲会与你交叉。 – 2015-02-10 16:32:11

回答

0

您的UPDATE语法错误。

UPDATE blog_members 
SET status=-- status information 
WHERE user_id=--identifying who the status belongs to 

MySQL manual entry on UPDATE

+0

仍然无法使用@devJunk – myDos 2015-02-10 19:11:08