ChristianL: Synchronesr Text in Tabelle

Hi,

ich habe folgendes Problem und irgendwie komm ich nicht weiter. Ich hoffe so etwas ist überhaupt in Javascript nötig, oder benötige dazu Ajax?

In einem Textfeld (in einem Formular) soll man einen Text schreiben können. Dieser soll synchron den Text in der darüberliegenden Tabelle anpassen.

Könnt Ihr mir vielleicht helfen? Bin für jeden Tipp dankbar.

Hier mein bisheriger Code, der aber nur den aktuell gedrückten Buchstaben anzeigt, aber auch nur als Zeichencode

<html>
<head>

<script type="text/javascript">

function myTextChange(evt){
 var charCode = evt.keyCode;
 document.getElementById("textfeld").innerHTML=charCode;
}

</script>

</head>

<body>
<table width="300">
 <tr>
  <th bgcolor="#000000" style="color:#ffffff;font-family:verdana">
   Werbetext:
  </th>
 </tr>
 <tr bgcolor="aaaaaa">
  <td id="textfeld" height="50">
  </td>
 </tr>
</table>

<form name="myForm" style="font-family:verdana" onkeyup="myTextChange(event);">
Werbetext <input type="text" id="werbung"/>
</form>
</body>
</html>

  1. In einem Textfeld (in einem Formular) soll man einen Text schreiben können. Dieser soll synchron den Text in der darüberliegenden Tabelle anpassen.

    Ich habe vor langem einmal so was gemacht:

    <html>
    <title></title>
    <head>
    <script type='text/javascript'>
    //dynamically update the preview when user types a text
    function print(input){
     val = input.value;
     while(val.search("\n")>=0){
      val = val.replace("\n","<br>");
     }
     document.getElementById('preview').innerHTML = val;
    }
    </script>
    <head>
    <body>

    <textarea id='input' rows='10' cols='40' onkeyup="print(this)"></textarea>
    <div id='preview'></div>

    </body>
    </html>

    1. Hey Andi,

      vielen Dank! Funktioniert super! Hast mir das Wochenende gerettet ;)

      Viele Grüße

    2. function print(input){
      val = input.value;
      while(val.search("\n")>=0){
        val = val.replace("\n","<br>");
      }

      uiui, das geht in einem Rutsch viel einfacher und schneller, schau dir die replace Funktion mal genauer an:

      function print(input)  
      {  
       var val = input.value;  
       if(!val) return;  
       val = val.replace( /\n/g, '<br>');  
       document.getElementById('preview').innerHTML = val;  
      }  
      
      

      Struppi.

      --
      Javascript ist toll (Perl auch!)
      1. »»schau dir die replace Funktion mal genauer an:

        Gute Anmerkung, danke.

  2. Hallo!

    ich habe folgendes Problem und irgendwie komm ich nicht weiter. Ich hoffe so etwas ist überhaupt in Javascript nötig, oder benötige dazu Ajax?

    AJAX _ist_ JavaScript. AJAX brauchst du nur, wenn du mit dem Server kommunizieren willst. Aber das willst du ja nicht.

    Zu deinem Problem:
    Du brauchst 2 Textfelder. In eines wird der Text geschrieben und in eines wird von JavaScript der Text des ersten Feldes geschrieben.

    Etwa so sieht es aus:

    Das HTML:
    <type="text" id="feld1"/>  type="text" id="feld2"/>

    Das JavaScript:
    var a = document.getElementById("feld1").value;
    document.getElementById("feld1").value = a;

    Jetzt musst du es noch anpassen und in eine Funktion packen.

    ciao, ww

    --
    Dies ist eine sehr einfache und effektive Sicherheitsstufe, aber nicht perfekt. Denn wenn mehrere User über eine Leitung ins Internet gehen, haben für den Webserver alle User die selbe IP. Und dann wirkt diese Sicherheitsstufe nicht mehr. Aber zumindest könnt ihr demjenigen, der euch die Session-ID geklaut hat, eins in die Fresse hauen.
    http://tut.php-q.net/login.html