Ace Editor in PHP Web App

天涯浪子 提交于 2021-02-17 20:50:53

问题


I am making a small web app that allows users to submit html, css and javascript content via Ace Editor. In this editor, echoing stored content into the editor is simply enough however I cannot find anyway to submit a users input to the database. I can see there is a textarea generated by the JavaScript however I'm not exactly sure what it is doing, how to get to it or if I should be looking for something else entirely.

I'm primarily looking for a field or something that I can use to have php submit into the db.


回答1:


The contents of the edit window are available with the session getValue method. For example, here is an extension to the standard ACE demo for save file:

saveFile = function() {
    var contents = env.editor.getSession().getValue();

    $.post("write.php", 
            {contents: contents },
            function() {
                    // add error checking
                    alert('successful save');
            }
    );
};

I added the saveFile call to the already existing "Fake Save" that is in demo.js. I replace the alert with code like this:

// Fake-Save, works from the editor and the command line.
canon.addCommand({
    name: "save",
    bindKey: {
        win: "Ctrl-S",
        mac: "Command-S",
        sender: "editor|cli"
    },
    exec: function() {
        saveFile();
    }
});

The php file is just one line:

$r = file_put_contents("foo.txt", $_POST["contents"]) or die("can't open file");



来源:https://stackoverflow.com/questions/6659559/ace-editor-in-php-web-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!