我正在为我的朋友们玩一个PHP重的社交网络。我试图通过Bootbox添加编辑帖子功能。这是编辑按钮的代码:
<button class='edit_button' id='edit$id'>Edit</button>
它所调用的功能:
$(document).ready(function() {
$('#edit<?php echo $id; ?>').on('click', function() {
bootbox.prompt({
title: "Edit your post!",
inputType: 'textarea',
backdrop: 'true',
onEscape: 'true',
callback: function (result) {
console.log(result);
}
});
});
});
我尝试将value: '<?php echo $body; ?>',
放入bootbox代码中,但这会破坏我的其他javascript代码。
按钮中的$ id调用特定的帖子$ id,这将引用帖子的$ body。
如何将$ body的文本自动插入textarea?
答案 0 :(得分:1)
我正在查看 bootbox.js 的文档,我发现了这个init函数。
根据您的代码,您可以执行以下操作:
$('#edit<?php echo $id; ?>').on('click', function() {
var prompt = bootbox.prompt({
title: "Edit your post!",
inputType: 'textarea',
backdrop: 'true',
onEscape: 'true',
callback: function (result) {
console.log(result);
}
});
prompt.init(function() {
$.ajax({
url: '/path/to/file',
type: 'default GET (Other values: POST)',
dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
data: {postID: '<?php echo $id; ?>'},
beforeSend: function() {
console.log('pre loader');
}
})
.done(function(data) {
prompt.find('.bootbox-input-textarea').val('done');
})
.fail(function() {
prompt.find('.bootbox-input-textarea').val('error');
})
.always(function(data) {
console.log("complete");
});
});
});
使用init函数,执行ajax调用并在 bootbox.js 创建的textarea create中加载帖子内容,一旦加载,你就可以获得 bootbox编辑的值。 js 回调函数。