2011-07-12 14 views
5

में ऐस संपादक मैं एक छोटा सा वेब ऐप बना रहा हूं जो उपयोगकर्ताओं को Ace Editor के माध्यम से एचटीएमएल, सीएसएस और जावास्क्रिप्ट सामग्री सबमिट करने की अनुमति देता है। इस संपादक में, संपादक में संग्रहीत सामग्री को प्रतिबिंबित करना बस इतना आसान है, हालांकि मैं डेटाबेस में उपयोगकर्ताओं को इनपुट सबमिट करने के लिए वैसे भी नहीं ढूंढ सकता। मैं देख सकता हूं कि जावास्क्रिप्ट द्वारा उत्पन्न एक टेक्स्टरेरा है, हालांकि मुझे बिल्कुल यकीन नहीं है कि यह क्या कर रहा है, इसे कैसे प्राप्त करें या अगर मुझे पूरी तरह से कुछ और ढूंढना चाहिए।PHP वेब ऐप

मैं मुख्य रूप से एक फ़ील्ड या कुछ ढूंढ रहा हूं जिसे मैं डीबी में जमा करने के लिए उपयोग कर सकता हूं।

उत्तर

14

संपादन विंडो की सामग्री सत्र प्राप्त करें विधि विधि के साथ उपलब्ध हैं। उदाहरण के लिए, यहाँ बचाने फ़ाइल के लिए मानक ऐस डेमो के लिए एक विस्तार है:

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

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

मैं पहले से ही विद्यमान "नकली सहेजें" demo.js. में है कि करने के लिए savefile कॉल जोड़ा मैं इस तरह के कोड के साथ चेतावनी की जगह:

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

+0

हाय @Dave मेरा उत्तर –

+1

कि खूनी शानदार है करने के लिए अद्यतन देखें:

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

php फ़ाइल सिर्फ एक पंक्ति है। धन्यवाद। मेरे पास एक ही पृष्ठ पर तीन संपादक हैं, इसलिए मैं पहले से ही देख सकता हूं कि मैं उन्हें अलग करने के लिए प्रदान किए गए AJAX पोस्ट कोड का उपयोग कैसे कर सकता हूं। 'var htmlContents = env.htmlEditor.getSession()। GetValue(); var cssContents = env.cssEditor.getSession()। GetValue(); var jsContents = env.jsEditor.getSession()। GetValue(); ' स्पष्ट रूप से मुझे सामग्री को भी बदलना होगा: सामग्री अनुभाग भी। धन्यवाद, आप बहुत अच्छे हैं! –

+0

हाय @ पॉल, क्या AJAX पोस्ट के बिना ऐसा करने का कोई तरीका है? –

संबंधित मुद्दे