我正在使用contenteditable功能,我試圖更新多個字段,但是當我嘗試通過2個字段時,這似乎不起作用,它與一個完美工作。當我點擊保存按鈕時,我甚至不會收到錯誤信息。如何通過jQuery傳遞多個參數到php
我相信我沒有正確傳遞數據,這是因爲我缺乏知識。
index.php
<?php
//get data from database.
include("db.php");
$sql = mysql_query("select * from datadump where id='1'");
$row = mysql_fetch_array($sql); ?>
<div id="wrap">
<header><h1>Contenteditable Database driven</h1></header>
<div id="status"></div>
<div id="maincontent">
<div id="editable" contentEditable="true">
<?php
echo $row['content'];
?>
</div>
<div id="editablea" contentEditable="true">
<?php
echo $row['name'];
?>
</div>
<button id="save">Save</button>
</div>
JS/js.js
$(document).ready(function() {
$("#save").click(function (e) {
var content = $('#editable').html();
var name = $('editablea').html();
$.ajax({
url: '/save.php',
type: 'POST',
data: {
content: content,
name: editablea
},
success:function (data) {
if (data == '1')
{
$("#status")
.addClass("success")
.html("Data saved successfully")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
else
{
$("#status")
.addClass("error")
.html("An error occured, the data could not be saved")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
}
});
});
$("#maincontent").click(function (e) {
$("#save").show();
e.stopPropagation();
});
$(document).click(function() {
$("#save").hide();
});
});
save.php
<?php
include("db.php");
$content = $_POST['content'];
$name = $_POST['editablea'];//get posted data
$content = mysql_real_escape_string($content); //escape string
$sql = "UPDATE datadump SET content = '$content', name = '$name' WHERE id = '1' ";
if (mysql_query($sql))
{
echo 1;
}
?>
前面的斜線在你的數據,你有名爲內容和editablea的變量,但我沒有看到任何變量editablea,而應該使用名稱是猜測。 – WordsWorth