Der Martin: Funktionsaufruf im Tag TABLE nicht möglich

Beitrag lesen

Hallo nochmal,

Mit PHP sehr noch recht einfach:
<table bgcolor="<?php bunt(); ?>">...</table>
stellt Selbiges mit Javascript ein Problem da

nein, keineswegs.

<table bgcolor="bunt();">...</table>
oder: <table bgcolor="javascript:bunt();">...</table>
oder: <table bgcolor="+bunt();+">...</table>
oder: <table bgcolor="'bunt();'">...</table>

Nee, so geht's allerdings nicht; ein Javascript-Block kann nicht *innerhalb* eines Tags beginnen. Aber du kannst das gesamte Tag mit Javascript ausgeben lassen:

<script type="text/javascript">
document.write("<table bgcolor='#" + bunt() + "'>");
</script>
<noscript>
<table>
</noscript>

Den noscript-Abschnitt würde ich unbedingt empfehlen, so dass Besucher mit deaktiviertem JS wenigstens etwas halbwegs Anständiges sehen. Die haben dann eben keine zufällige, sondern die Default-Farbe.

Eine ganz andere Frage ist, warum du hier alte, missbilligte HTML-Attribute für die Darstellung verwenden willst, anstatt das ordentlich mit CSS zu regeln.

Ciao,
 Martin

--
Wer im Glashaus sitzt, sollte Spaß am Fensterputzen haben.