我正在使用阿罗哈编辑并喜欢它.
我在http://gazpo.com/2011/09/contenteditable/找到了一个名为contentEditable的教程
它将1 div保存到数据库,但是我的网页上有多个div,我无法计算出逻辑.
如果你能提供帮助,我真的很感激?
我的index.PHP上有以下PHP / Javascript / Ajax:
<?PHP
//get data from database.
include("db.PHP");
?>
<script>
$(document).ready(function() {
$("#save").click(function (e) {
var content = $('[class^="editable"]').html();
$.ajax({
url: 'save.PHP',
type: 'POST',
data: {
content: content
},
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');
}
}
});
});
$('[class^="editable"]').click(function (e) {
$("#save").show();
e.stopPropagation();
});
$(document).click(function() {
$("#save").hide();
});
});
</script>
在我的index.PHP上,每个div都有一个唯一的类,例如.editable1,在div中我有以下PHP来回显数据库中的数据:
<div class="editable1">
<?PHP
$sql = MysqL_query("select text from content where element_id='1'");
$row = MysqL_fetch_array($sql);
echo $row['text'];
?>
</div>
<div class="editable2">
<?PHP
$sql = MysqL_query("select text from content where element_id='2'");
$row = MysqL_fetch_array($sql);
echo $row['text'];
?>
</div>
<?PHP
include("db.PHP");
$content = $_POST['content']; //get posted data
$content = MysqL_real_escape_string($content); //escape string
$sql = "UPDATE content SET text = '$content' WHERE element_id = '1' ";
$sql = "UPDATE content SET text = '$content' WHERE element_id = '2' ";
if (MysqL_query($sql))
{
echo 1;
}
?>
我的db.PHP:
<?PHP
//database connection
MysqL_connect("localhost", "root", "root") or die(MysqL_error());
MysqL_select_db("create") or die(MysqL_error());
?>
问题是,当我在div.editable1中用Aloha编辑器更新文本时,它表示“已成功保存”,但是当我刷新页面时,div为空,数据库行也为空.
任何帮助将非常感谢:)
谢谢,
米歇尔
解决方法:
首先,您设置javascript以将div的值传递为content1和content2
var content1 = $('.editable1').html();
var content2 = $('.editable2').html();
$.ajax({
url: 'save.PHP',
type: 'POST',
data: {
content1: content1, content2: content2
},
success: function(data) {
.......
include("db.PHP");
$content1 = $_POST['content1']; //get posted data
$content1 = MysqL_real_escape_string($content1); //escape string
$content2 = $_POST['content2']; //get posted data
$content2 = MysqL_real_escape_string($content2); //escape string
$sql = "UPDATE content SET text = '$content1' WHERE element_id = '1' ";
MysqL_query($sql);
$sql = "UPDATE content SET text = '$content2' WHERE element_id = '2' ";
if (MysqL_query($sql))
{
echo 1;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。