WYSIWYG Daten in var speichern

js-mueller

Erfahrenes Mitglied
Hi

ich habe mir mittels http://devedge.netscape.com/viewsource/2003/midas/01/ ein Editor gebastelt, nun stellt sich mir die Frage, wie komme ich an die Daten.
Es gibt da ja so ne Zeile show Source und da wird das ja irgendwie geschafft, aber da ich nicht der javascript experte bin hoff ich mal auf eure hilfe.
Am allerbesten wäre es wenn mir jemand zeigen könnte, wie ich alles per post versenden kann.

view source:

Code:
     // view soruce
    
    function getSource(){
      document.getElementById("sourceView").innerHTML = replace(getIFrameDocument("text").body.innerHTML,"<","&lt;");
    }
        
    function replace(string,text,by) {
      var stringLength = string.length
      var textLength = text.length;
      if ((stringLength == 0) || (textLength == 0)) return string;

      var i = string.indexOf(text);
      if ((!i) && (text != string.substring(0,textLength))) return string;
      if (i == -1) return string;

      var newstr = string.substring(0,i) + by;

      if ( (i+textLength) < stringLength)
        newstr += replace(string.substring(i+textLength,stringLength),text,by);
      return newstr;
 
Am allerbesten wäre es wenn mir jemand zeigen könnte, wie ich alles per post versenden kann
Als erstes brauchst du ein Formular mit einem leeren hidden-Field und einem Submit-Button. Dem Formular gibst du als onSubmit()-Aktion den Befehl, den Code in das hidden-Field zu kopieren:
Code:
...
HEADBEREICH
....
<script language="JavaScript">
<!--
    function copySource() {
        document.sendS.text.value = document.getElementsById("sourceView").innerHTML;
    }
//-->
</script>
</head>
<body>
<form name="sendS" onSubmit="copySource();" method="post" action="seite.php">
<input type="hidden" value="" name="text">
<input type="submit" value="abschicken">
</form>
<div id="sourceView">
<!-- DAS IST DEIN EINGABEFELD -->
</div>
Da der Inhalt des divs nun im hidden-Field steht, wird der HTML-Code übermittelt.
 
Zuletzt bearbeitet:
Naja, aber dann muss ich mir ja erst den Source per Knopf ausspucken lassen., nach deiner methode. Kann man das nicht in einem Arbeitsgang machen?
 
Also ich hab da gerade selber mal was getestet, und das so gemacht, aber das funktioniert leider nicht :-/
Kann mir nicht jemand helfen, die getsource so umzubaun, dass es ohne das div geht.

Code:
    function getsource(){
      document.textWysiwyg.text.value = replace(getIFrameDocument("text").body.innerHTML,"<","&lt;");
    }

edit:

Kann mir keiner helfen? Für jemanden der Javascript kann dürfte das doch kein großes Problem sein oder?
 
Zuletzt bearbeitet:
Original geschrieben von Randar
[...]Kann man das nicht in einem Arbeitsgang machen?
Das ist doch ein Arbeitsgang?!
Wenn du mit dem Schreiben fertig bist drückst du auf den Submit-Button und der Quelltext wird automatisch in das hidden-Field kopiert und anschließend versandt. Mit einem Klick, nämlich dem auf den Button...

Ich versteht das Problem nicht, sorry :rolleyes:
 
Achso. Was ist denn dann das Eingabefeld?

Dann musst du eben dessen Inhalt beim Submit in das hidden-Field eintragen.
 
Mein eingabefeld ist nen iframe =)
Das wird bei den original get source so ausgelesen

Code:
      document.getElementById("sourceView").innerHTML = replace(getIFrameDocument("text").body.innerHTML,"<","&lt;");
 
Achso :)
Code:
<form [...] onSubmit="document.formMitHiddenField.hiddenFieldName.value = document.FrameName.body.innerHTML;">
*edit*
Das Zwischenspeichern im div kannst du dir ja schenken oder?
 
Zuletzt bearbeitet:
Zurück