darrel: javascript in <img> einbinden

Servus Leute!

ich habe ein kleines Problem.

ich möchte eine Grafik dynamisch laden.
im head werden die ersten url-teile abgefragt:
--------------------------
<head>
<title>Chartoverview</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function Quote() {
   var url1 = document.form.url.value;
   var url2 = document.form.time.value + document.form.type.value + document.form.scale.value + document.form.size.value + "&a=v&p=s";
}
//-->
</script>
</head>
---------------------------
über der grafik direkt ist dann noch ein form wo der zwischenteil reingeschrieben werden kann. Ziel ist es eine img-ref zu bekommen die die teile url1 + textfield + url2 zusammensetzt. bei mir sieht es zur zeit wie folgt aus (geht aber net).
---------------------------
  <table width="2" border="1" cellspacing="1" cellpadding="1">
  <tr>
    <td>

<p>
          <input name="textfield" type="text" value="%5EGDAXI">
        </p>
        <p><script language="javascript">document.write("<img src="url1+document.ueb.textfield.value+url2"");</script></p>
 </td>
    <td><p>
[...]
---------------------------

kennt einer eine lösung?

Vielen vielen herzlichen dank!

  1. Moin Moin!

    Baue das IMG-Element per DOM nach dem Laden der Seite ein. Sehe einen Fallback für den Fall vor, dass Javascript deaktiviert oder nicht vorhanden ist.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Hallo darrel,

    kennt einer eine lösung?

    Folgendes kann ja nicht funktionieren:

    document.write("<img src="url1+document.ueb.textfield.value+url2"");

    Guck dir mal die Anführungszeichen an. Was soll der Javascript-Parser denn damit machen? Es fehlen mindestens 2 Pluzeichen, zudem sollte der Attributwert auch immer in Anführungszeichen gesetzt werden. Und wo ist überhaupt die schließende klammer vom <img>-Tag?

    Z.B. folgendes sollte gehen:

    document.write("<img src="" + url1 + document.ueb.textfield.value + url2 +"">");

    Jonathan

  3. @@darrel:

    <script type="text/javascript">
    <!--

    Das Auskommentieren von JavaScript-Code kannst du dir sparen.

    function Quote() {
       var url1 = document.form.url.value;
       var url2 = document.form.time.value + document.form.type.value + document.form.scale.value + document.form.size.value + "&a=v&p=s";
    }

    Diese Funktion tut gar nichts. (Naja, es werden zwei lokale Variablen gesetzt, beim Verlassen der Funktion sind sie aber schon wieder weg.)

    Außerdem: Wo wird die Funktion aufgerufen?

    <p><script language="javascript">

    Das ist falsch. Oben wusstest du noch, wie man <http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=JavaScript-Bereiche in HTML> notiert.

    document.write("<img src="url1+document.ueb.textfield.value+url2"");

    Wenn du 'document.write()' aufrufst, ist deine aktuelle Seite weg. Wohl nicht das, was du bezweckst.

    Außerdem müsstest du <http://de.selfhtml.org/javascript/sprache/notationen.htm@title=Anführungszeichen maskieren> oder noch besser einfache und doppelte verwenden.

    Den Syntax-Fehler hätte die Fehler-Konsole doch melden sollen.

    kennt einer eine lösung?

    Für welches Problem?

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
  4. ja sorry. ich habs halt nicht so mit javascipt ;-)

    jetzt bräuchte ich nur noch eine refreshfunction mit der man die grafiken neu laden kann wenn man eine form geändert hat.
    gibts sowas?

    1. ich habs jetzt mit

      <input type="button" value="Refresh" onclick="window.location.reload(false)">

      gemacht.

      im firefox gehts. im IE leider net. weis einer rat?

      1. Hallo darrel,

        <input type="button" value="Refresh" onclick="window.location.reload(false)">
        im firefox gehts. im IE leider net. weis einer rat?

        Wieso übergibst du false als Parameter? Wenn ich das hier lese würde ich eher true übergeben. Normal wäre aber gar kein Parameter.

        Jonathan

        1. ja du hast Recht. aber das löst leider noch nicht mein Problem. Wenn ich den reload mache, löschen sich die in den Forms neu eingegebenen Parameter (zumindest im IE).

          1. Moin Moin!

            ja du hast Recht. aber das löst leider noch nicht mein Problem. Wenn ich den reload mache, löschen sich die in den Forms neu eingegebenen Parameter (zumindest im IE).

            Das ist das normale Verhalten eines Browsers. Wenn Du das nicht willst, brauchst Du serverseitige Unterstützung, die die frisch eingegebenen Werte in die nächste Iteration mitschleppt.

            Alexander

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
            1. kann man die Werte nicht so lange in einem Cookie oder so speichern?ich hab nämlich keinen server. die seite soll ausschließlich auf meinem rechner laufen.

              grüße

              1. Moin Moin!

                kann man die Werte nicht so lange in einem Cookie oder so speichern?ich hab nämlich keinen server. die seite soll ausschließlich auf meinem rechner laufen.

                Du kannst es versuchen, für Cookies gibt es aber einige Limits (4 KByte pro Cookie und max. 100 pro Domain, oder so ähnlich). Da wirst Du unter Umständen nicht alles speichern können.

                Du kannst aber auch einen lokalen Webserver laufen lassen.

                Alexander

                --
                Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".