• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Verzweigungen und JavaScript

mss

Neues Mitglied
hi!

ich möchte immer wiederkehrenden html-code in eine externe JS-datei auslagern. das klappt auch soweit ganz gut mittels funktionen und document.write(). jetzt habe ich aber das problem, dass ich in dem code gern verzweigungen einbauen würde und je nachdem welcher wert dem funktionsparameter mitgegeben wird, ändern sich teile des html-codes.
mein problem ist wie es aussieht, dass der html-code nicht richtig dargestellt wird, sobald die verzweigung zwischen öffnenden und schließenden tags liegt.

bsp-js-datei:
Code:
function fkt_test(zahl) {
  document.write(<TABLE BGCOLOR="#dda0dd"><TR><TD><P>)
  if (zahl == 1) {  document.writeln("text")}

  else {  document.writeln("bild")}
  document.write(</P></TD></TR></TABLE>)
}
ausgabe:
Code:
text bild                
)   if (zahl == 1) undefined    else undefined   document.write(
 
Dein JS Code ist nicht lauffähig. Das sollte auch so in der Fehlerkonsole angezeigt werden.

Wozu brauchst du eine Tabelle um einen Text oder Bild anzuzeigen? Das ist unnötig.
 
das ist nur ein kleines beispiel. die html-seiten beinhalten jeweils dieselbe tabelle und darin sind viele codefragmente gleich. in der tabelle werden text+bilder angezeigt.

hm, mozilla schluckt den code. was ist denn daran nicht in ordnung?
bin halt js-anfänger.
 
mein firefox 3.6.10 unter ubuntu schluckt den code so wie ich ihn gepostet hab. hab extra nochmal direkt aus dem browser den code in die js-datei gepackt. fehlerkonsole bleibt leer.

egal, mein kernproblem ist: ich habe html-code der ständig in nur leicht veränderter form auf verschiedenen html-seiten wiederkehrt und den ich daher gern in eine extra datei auslagern möchte. dies funktioniert zumindest teilweise ohne probleme mit js. aber leider nicht in der obigen konstellation.
 
mein firefox 3.6.10 unter ubuntu schluckt den code so wie ich ihn gepostet hab. hab extra nochmal direkt aus dem browser den code in die js-datei gepackt. fehlerkonsole bleibt leer.
100% nicht! Entweder du zeigst uns nicht den wirklichen Code, den du verwendest oder du sagst die Unwahrheit.
 
100% nicht! Entweder du zeigst uns nicht den wirklichen Code, den du verwendest oder du sagst die Unwahrheit.
OK, ich habe mich geirrt, anscheinend hat Firefox hier eine etwas merkwürdige Fehlerkorrektur am laufen. Kein anderer Browser akzeptiert so einen falschen Code. Du musst das was du ausgeben willst, in Anführungszeichen schreiben.
 
hm, ja..hab mich schon bissel gewundert, wie die klammerinhalte so interpretiert werden und wie da das ende gefunden wird. kam mir komisch vor.
so funktioniert es :D jo..da sitz ich nun schon den halben tag dran...

function fkt_test(zahl) {
document.write("<TABLE BGCOLOR=\"#dda0dd\"><TR><TD><P>");
if (zahl == 1) { document.writeln("text");}
else { document.writeln("bild");}
document.write("</P></TD></TR></TABLE>");
}

thx für den hinweis.
 
und das ohne eine Meldung - ich konnte es auch nicht glauben (wie man gemerkt hat)
 
Zurück
Oben