easyfreak: JavaScript Variablem dynamsich als Text darstellen ?

Hallo zusammen,

ich habe ein ein Script welches Werte aus einen Selectmenü in Echtzeit in ein Textfeld schreibt. Klappt auch wunderbar. Nur ich brauche die werte als normalen Text. (document.write(wert) würde passen). Wie bekomme ich das hin ??

Hier das Script:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

function Anzeige(){
if (document.Liefs.sess.options[document.Liefs.sess.selectedIndex].value != "none") {
document.Liefs.price.value = document.Liefs.sess.options[document.Liefs.sess.selectedIndex].value
 }
}

</script>

<form name="Liefs" action="liefsuch_temp.jsp" method="post">

<select name="sess" onChange="Anzeige()">
 <option value="wert1">name1</option>
 <option value="wert2">name2</option>
</select>

<input type="text" name="price" size="10" value="">
</form>

Danke, easy

  1. ich habe ein ein Script welches Werte aus einen Selectmenü in Echtzeit in ein Textfeld schreibt. Klappt auch wunderbar. Nur ich brauche die werte als normalen Text. (document.write(wert) würde passen). Wie bekomme ich das hin ??

    Wenn das paßt, dann nimm's doch.

    1. ich habe ein ein Script welches Werte aus einen Selectmenü in Echtzeit in ein Textfeld schreibt. Klappt auch wunderbar. Nur ich brauche die werte als normalen Text. (document.write(wert) würde passen). Wie bekomme ich das hin ??

      Wenn das paßt, dann nimm's doch.

      Ich brauche NORMALEN Text, kein Textfeld. Textfeld habe ich doch, >> sonst würde ich doch nicht fragen !?

      1. ich habe ein ein Script welches Werte aus einen Selectmenü in Echtzeit in ein Textfeld schreibt. Klappt auch wunderbar. Nur ich brauche die werte als normalen Text. (document.write(wert) würde passen). Wie bekomme ich das hin ??

        Wenn das paßt, dann nimm's doch.

        Ich brauche NORMALEN Text, kein Textfeld. Textfeld habe ich doch, >> sonst würde ich doch nicht fragen !?

        Häh? Aber document.write(wert) paßt doch, sagst Du...

        1. Häh? Aber document.write(wert) paßt doch, sagst Du...

          Ja, würde super passen. Ich krieg es aber nicht hin document.write(wert) zu "überzeugen" das es bei jeden onChange neuen 'wert' schreibt. Was tun ?

        2. Probier mal das:
          Skript: document.getElementById('output').firstChild.data = 'blabla';
          HTML: <p id="output"> </p>

          Das   muss übrigens stehen bleiben,
          weil 'data' sonst nicht existiert.

          1. Werde ich mal testen, danke !

  2. Allso es gibt Grundsätzlich zwei Möglichkeiten.
    Einerseits kannst du den selektierten Wert an die eigene Seite übergeben und diese während des Neuladens verändern (document.write). Die andere Möglichkeit ist den Inhalt "dynamisch" zu verändern.
    Beim Ersten gibt es zwei Möglichkeiten. Mann kann ein "Cookie" setzen oder über die URL die Informationen zu übergeben. Bei der zweiten Variante ist zu beachten, das man auf die browserspezifischen Besonderheiten achten muss.
    Mal eine Beispielseite mit allen drei Möglichkeiten:

    -----------------------------------
    <html>
     <head>
      <title>JS-Test</title>
     </head>
     <script language="JavaScript">
    <!--
    var wert1="";
    var wert2="";
    var wert3="";
    getCookieWert();
    getSearchWert();

    var DOM = 0, IE = 0, NS = 0;
    function init()
    {
     if(document.getElementById)
     { DOM = 1; }
     if(document.all)
     { IE = 1; }
     if(window.netscape && window.screen && !DOM)
     { NS = 1; }
    }

    //########################

    function writeChange1()
    {
     wert1=document.test1.a.options[document.test1.a.selectedIndex].value;
     document.cookie = "a="+wert1;
     window.location.reload();
    }

    function getCookieWert()
    {
     if(document.cookie)
     {
      var w = document.cookie;
      var l = w.split(";");
      l = l[0].split("=");
      wert1=l[1];
     }
    }

    //########################

    function writeChange2()
    {
     document.test2.submit();
    }

    function getSearchWert()
    {
     if(window.location.search)
     {
      var w=decodeURIComponent(window.location.search);
      var l = w.split("&");
      l = l[0].split("=");
      wert2=l[1];
     }
    }

    //########################

    function writeChange3()
    {
     wert3=document.test3.c.options[document.test3.c.selectedIndex].value;
     if(DOM)
     { document.getElementById("Ausgabe3").firstChild.nodeValue = wert3; }
     else if(IE)
     { document.all["Ausgabe3"].innerText = wert3 }
     else if(NS)
     {
      document["Ausgabe3"].document.open();
      document["Ausgabe3"].document.write(wert3);
      document["Ausgabe3"].document.close();
     }
     else
     { alert("Kann Wert nicht schreiben!"); }
    }
    //-->
    </script>
     <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000" onLoad="init()">
      Version 1:
      <form name="test1">
       <select name="a" size="2" onClick="writeChange1()">
        <option value="Test_a_1">T1</option>
        <option value="Test_a_2">T2</option>
       </select>
      </form>
      <br>Ausgabe1:
      <div name="Ausgabe1">
    <script language="JavaScript">
    <!--
    if(wert1 != "")
    {
     document.write(wert1);
    }
    //-->
    </script>
      </div>
      Erklärung:<br>
      Hier wird ein Cookie gesetzt und die Seite neu geladen.
      Während des Aufbaus der Seite wird der Wert geschrieben.
      <hr>
      Version 2:
      <form name="test2" action="js_write_text.html" method="get">
       <select name="b" size="2" onClick="writeChange2()">
        <option value="Test_b_1">T1</option>
        <option value="Test_b_2">T2</option>
       </select>
      </form>
      <br>Ausgabe2:
      <div name="Ausgabe2">
    <script language="JavaScript">
    <!--
    if(wert2 != "")
    {
     document.write(wert2);
    }
    //-->
    </script>
      </div>
      Erklärung:<br>
      Hier wird der Wert über die URL übergeben.
      Während des Aufbaus der Seite wird der Wert geschrieben.
      <hr>
      Version 3:
      <form name="test3">
       <select name="c" size="2" onClick="writeChange3()">
        <option value="Test_c_1">T1</option>
        <option value="Test_c_2">T2</option>
       </select>
      </form>
      <br>Ausgabe3:
      <div id="Ausgabe3">
      </div>
      Erklärung:<br>
      Es wird dynamisch in die Seite eingegriffen und ein neuer Inhalt geschrieben.
      Durch die Unterschiede bei den Browsern muss etwas Auswahl betrieben werden.
      Leider funktioniert das nicht immer. Vor allem sehr alte Browser machen hier Probleme.
     </body>
    </html>
    -----------------------------------