2011-07-12 17 views
5

Tworzę małą aplikację internetową, która umożliwia użytkownikom przesyłanie treści html, css i javascript przez Ace Editor. W tym edytorze echo zapisanych treści w edytorze jest po prostu wystarczające, ale i tak nie mogę znaleźć danych wejściowych użytkowników do bazy danych. Widzę, że jest tam tekstowy tekst wygenerowany przez JavaScript, ale nie jestem do końca pewien, co robi, jak do niego dotrzeć lub czy powinienem szukać czegoś zupełnie innego.Edytor asów w aplikacji sieci Web PHP

Najpierw szukam pola lub czegoś, co mogę użyć, aby przesłać php do bazy danych.

Odpowiedz

14

Zawartość okna edycji jest dostępna z metodą sesji getValue. Na przykład, tutaj jest rozszerzeniem standardowej demo ACE na zapisanie pliku:

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

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

dodałem wywołanie savefile do już istniejącego „Fake Zapisz”, która jest w demo.js. I zastąpić alert z kodem tak:

// 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(); 
    } 
}); 

Plik php jest tylko jedna linia:

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

+0

Hi @Dave Zobacz aktualizację do mojej odpowiedzi –

+1

który jest krwawy genialny. Dziękuję Ci. Mam trzy edytory na tej samej stronie, więc mogę już zobaczyć, jak mogę użyć kodu pocztowego AJAX, który podałeś, aby je rozróżnić. 'var htmlContents = env.htmlEditor.getSession(). GetValue(); var cssContents = env.cssEditor.getSession(). GetValue(); var jsContents = env.jsEditor.getSession(). GetValue(); ' Oczywiście musiałem również zmienić treść: sekcja zawartości też. Dziękuję, jesteś NIESAMOWITY! –

+0

Witaj, @Paul, czy jest jakiś sposób, aby to zrobić bez postu AJAX? –

Powiązane problemy