stack
stack

Reputation: 841

How to store div content to DB with Ajax

In my project, I want to store div content to DB. The content is like:

<span>name:</span><input type="text" id="inputid" value="John"><br />

So I chose innerHTML to fetch them successfully. And with Ajax, the content would be stored to DB.

Yesterday, I found that stripslashes() should be called to format the content, and it could be updated successfully.

But today stripslashes() made nothing done. Here is my js code:

var slcId = $('#slcStNum').val();
var tmTgDvHtml=document.getElementById("timeTagDiv").innerHTML;
$.ajax({
    dataType:'html',
    type:"POST",
    url:"get_ajax_csc_div.php",
    data:{htmlCnt:tmTgDvHtml,slcId:slcId},
    success:function (data) 
    {
        alert("test");
    }
 });

Here is html code:

<div id="timeTagDiv"><span>name:</span><input type="text" id="inputid" value="John"><br /></div>

Here is get_ajax_csc_div.php code

<?php
if(isset($_POST['htmlCnt']))
{   
 include("DB.php");
 $htcnt=stripslashes(".$_POST['htmlCnt'].");
 $sql="update IDC SET stprocess='$htcnt' where id='".$_POST['slcId']."';";
 $sel = $conn->exec($sql);  
 }
 ?>

I changed dataType:'html' to dataType:'json', but it failed again. Who can help me?

Upvotes: 2

Views: 183

Answers (2)

Lars Peterson
Lars Peterson

Reputation: 1508

It's because you have your _POST[] superglobal surrounded by quotes, making it a string.

Change this

$htcnt = stripslashes(".$_POST['htmlCnt'].");

With this

$htcnt = stripslashes($_POST['htmlCnt']);

Upvotes: 5

Jithin Varghese
Jithin Varghese

Reputation: 2228

change your get_ajax_csc_div.php to

include("DB.php");

if(isset($_POST['htmlCnt'])) {
    $htcnt = stripslashes($_POST['htmlCnt']);
    $sql = "update IDC SET stprocess='$htcnt' where id='".$_POST['slcId']."'";
    $sel = $conn->exec($sql);  
}

Upvotes: 0

Related Questions