将PHP / SQL变量添加到Bootbox文本区域

时间:2018-01-31 09:55:43

标签: javascript php bootbox

我正在为我的朋友们玩一个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?

1 个答案:

答案 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 回调函数。