Crazy: Textareafeld verändern geht nicht!

Hi

Ich mache grade eine Art "Homepagebaukasten deluxe" für meine Schwester (6. Klasse) damit sie gegen ihre Klassenkameraden, die eine Homepage bei solchen kostenlosen Hostern haben, wie z.B. www.toolia.de erstens anstinken kann und zweitens auch eine Homepage hat.

Die Seiten sind in einer Tabelle einer MySQL-Datenbank gespeichert.
Damit sie etwas Komfort hat, mache ich gerade einen Editor, in dem sie den Inhalt von schon erstellten seiten bearbeiten kann und z.B. nicht per Hand Tags wie <b></b> einfügen muss (und sie auch kein HTML kann). Damit kein HTML verwendet werden muss, habe ich mir schon überlegt, so eine Art BBCode zu entwickeln, aber es ist mir auf die schnelle zu kompliziert, an der Cursorposition die ausgedachten Beginn- und Endtags einzufügen oder um den markierten Text einzufügen und diese später durch PHP auch noch durch echtes HTML wieder zu ersätzen. Damit muss ich mich mal später befassen, zurzeit mache ich nur mit echtem HTML.

Nun habe ich ein Problem beim Ändern des Inhalts eines Texteareafelds.
Das Problem ist, dass zwar nach dem Klick auf den Button "Tag" kurzzeitig "Tag" am Ende der Textarea (heißt das überhaupt "die Textarea"? ) eingefügt wird, sich die Seite daraufhin aber irgendwie aktualisiert und wieder der alte Text, ohne "Tag" angezeigt wird.

Das ist der Code, ich habe mal das alles genommen, was ich fürs Verständnis wichtig hielt, das eigentliche Problem ist aber erst ab dem Punkt, andem das Javascript geschrieben ist:

<?php
include("../config/MYSQL/mysql_connect.php");

if(empty($_GET['editpage']) || !isset($_GET['editpage'])) {
    echo "Eine Seite zum &Auml;ndern w&auml;hlen:<br />";
         $sql_pages = "SELECT title FROM homepage_pages";
         $result_pages = MYSQL_QUERY($sql_pages);

while($row_pages = MYSQL_FETCH_ASSOC($result_pages)) {
             echo "<a href="{$_SERVER['PHP_SELF']}?editpage={$row_pages['title']}" title="Die Seite &quot;{$row_pages['title']}&quot; &auml;ndern">{$row_pages['title']}</a><br />";
         }
} else {
    if(empty($_POST['edit']) || !isset($_POST['edit'])) {
        $editpage = $_GET['editpage'];

$sql = "SELECT * FROM homepage_pages WHERE title = '$editpage'";
        $result = MYSQL_QUERY($sql);
        while($row = MYSQL_FETCH_ASSOC($result)) {
            $title_old = $row['title'];
            $navi_link_old = $row['navi_link'];
                 $navi_link_title_old = $row['navi_link_title'];
                $text_old = $row['text'];
        }
?>
<style type="text/css">
<!--
    button.tag_button {
             border-style: solid;
                 border-width: 1px;
             border-color: black;
         }
//-->
</style>
<form name="edit_page" id="edit_page" action="<?=$_SERVER['PHP_SELF']}."?editpage="$editpage?>" method="POST">
<table>
    <tr>
      <td>Titel:</td><td><input type="text" name="title" id="title" value="<?=$title_old?>" /></td>
    </tr>
    <tr>
      <td>Link in der Navigationsleiste:</td><td><input type="text" name="navi_link" id="navi_link" value="<?=$navi_link_old?>" /></td>
     </tr>
    <tr>
      <td>Beschreibung des Links:</td><td><input type="text" name="navi_link_title" id="navi_link_title" value="<?=$navi_link_title_old?>" /></td>
    </tr>
         <tr>
           <td></td><td>
             <!-- Einfügbare Tags -->
             <script language="JavaScript" type="text/javascript">
             <!--
                 function insert_tag() {
                     document.edit_page.text.value += "Tag";
                 }
             //-->
             </script>
             <button class="tag_button" onClick="insert_tag()">Tag</button>
           </td>
         </tr>
    <tr>
      <td>Inhalt:</td><td><textarea name="text" id="text"><?=$text_old?></textarea></td>
    </tr>
         <tr>
           <td></td>
           <td><input type="submit" name="edit" id="edit" value="Bearbeiten" /></td>
         </tr>
</table>
</form>
<?
    } else {
             $editpage = $_GET['editpage'];

$title_new = $_POST['title'];
                 $navi_link_new = $_POST['navi_link'];
                 $navi_link_title_new = $_POST['navi_link_title'];
                 $text_new = $_POST['text'];

$sql_update_table_pages = "UPDATE homepage_pages SET title = '{$title_new}',navi_link = '{$navi_link_new}',navi_link_title = '{$navi_link_title_new}',text = '{$text_new}' WHERE title = '{$editpage}'";
                 $result_update_table_pages = MYSQL_QUERY($sql_update_table_pages);
         }
}
?>

Was mache ich falsch?

  1. Hallo,

    <button class="tag_button" onClick="insert_tag()">Tag</button>

    Ein Button ist standardmäßig ein Submit-Button und sendet bei Aktivierung das Formular ab, in dem er sich befindet, sofern du nicht ausdrücklich <button type="button">...</button> notierst.

    Mathias

    1. Danke! Jetzt funktioniert's und aktualisiert sich nicht mehr selbst :)