thommy89: Text an Cursorposition einfügen

Juten Abend,
Ich habe das Script "text an cursorposition" einfügen kopiert und an meine verhältnisse angepasst. Problem ist nur, das ich wenn ich ein HTML-Tag einfüge, das nicht so gespeichert wird. Was kann ich da machen?
Hier mein Code:
<script language="JavaScript" type="text/javascript" src="editor.js"></script>
<?
if ($edit)
{
$handler = fopen("startseite.txt","w");
if(fputs($handler, $textfile)) {
$gespeichert = 1;}
fclose($handler);
}
?>
<HTML>
<HEAD>
<TITLE>CMS</TITLE>
<script type="text/javascript">
<!--
function insert(aTag, eTag) {
  var input = document.forms['formular'].elements['textfile'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag +

input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('[1]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag +

input.value.substr(pos);
  }
}
//-->
</script>
</HEAD>
<BODY>
<center><h2>Startseite</h2>
<? if($gespeichert){echo "Text wurde gespeichert";}?>
<FORM name="formular" ACTION="editstartseite.php" METHOD="post">
<input type="button" value="Einfügen" onClick="insert('[link]', '[/link]')">
<input type="image" src="bold.gif" onClick="insert('<strong>', '</strong>')">
<input type="image" src="italically.gif" onClick="insert('<i>', '</i>')">
<input type="image" src="underlined.gif" onClick="insert('<u>', '</u>')">
<input type="hidden" name="edit" value="1">
<p><TEXTAREA NAME="textfile" COLS="90"

ROWS="15"><?readfile("startseite.txt");?></TEXTAREA>
<BR>
<INPUT TYPE="Submit" VALUE="Text speichern">&nbsp;&nbsp;&nbsp;
<INPUT TYPE="reset" value="zurücksetzen">
</FORM>
</BODY>
</HTML>
Gruß
Thommy


  1. 0-9 ↩︎

  1. Hallo,

      
    
    > <? if($gespeichert){echo "Text wurde gespeichert";}?>  
    > <FORM name="formular" ACTION="editstartseite.php" METHOD="post">  
    > <input type="button" value="Einfügen" onClick="insert('[link]', '[/link]')">  
    
    

    du könntest diese eine Zeile mal so abändern

      
    <FORM name="formular" onsubmit="confirm('jetzt absenden?')"  
      ACTION="editstartseite.php" METHOD="post">  
    
    

    und testen was dann passiert ..

    Gruß plan_B

    --
         *®*´¯`·.¸¸.·
    1. Hi,
      danke, ist auch ne nette Abschickvariante, habe aber mein problem schon gelöst...war ein denkfehler von mir.
      Gruß
      Thommy

      1. ..., habe aber mein problem schon gelöst...war ein denkfehler von mir.

        geheimnisvoll, geheimnisvoll - da bin ich froh, dass ich auch nicht zu viel verraten habe ...  ;-)

        Gruß plan_B

        --
             *®*´¯`·.¸¸.·