所以我有这个 div 我能够像这样编辑:
if(isset($user_id)){
?>
<h2 id="title" onclick="makeEditable(this)" onblur="makeReadOnly(this)"><?php echo $out['title'];?></h2>
<div id="text_div" onclick="makeEditable(this)" onblur="makeReadOnly(this)">
<?php echo $out['text_html'];?>
</div>
<a class="button button1 logout" href="login/logout.php">Uitloggen</a>
<?php
}
进入 ajax 调用函数,该函数将 new 数据插入数据库。
ajax电话
var title = $('#title').text();
var text = $('#text_div').text();
$.ajax({
type: 'POST',
url: 'insert_text.php',
data: {
text: text,
title:title
},
dataType: 'json',
success: function(data) {
console.log('Successsfull');
if(data.success) {
console.log(data);
// window.location.href = "loginForm.php";
} else {
console.log('no succes');
}
},
error: function(err) {
console.log('error');
console.log(err);
}
});
这个功能也在SO
上扯掉了其他一些话题$('#text_div').keydown(function(e) {
// trap the return key being pressed
if (e.keyCode === 13) {
// insert 2 br tags (if only one br tag is inserted the cursor won't go to the next line)
document.execCommand('insertHTML', false, '<br><br>');
// prevent the default behaviour of return key pressed
return false;
}
});
这可以正常工作,但如何在数据库中设置此<br />
标记。目前它在浏览器中正确地执行了它,但是当我刷新时,它将所有内容放在一起。
例如我得到了:
test<br />test
它在编辑时显示如下:
test
test
这是正确的,但是当我在 ajax 中调用插入并刷新页面时,它会显示如下:
test test
有关如何解决这个问题的任何消息?