kostenloser Webspace werbefrei: lima-city


Problem mit Dropdown - JavaScript und PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    squid

    Kostenloser Webspace von squid

    squid hat kostenlosen Webspace.

    Hi
    ich habe mit einem Script einen kleinen Code geschrieben, der ein DropDown darstellen soll. Es scheint an den Zeilenumbrüchen in der PHP-Variable $bar_dropdown_inhalt zu liegen, wenn ich die Variable statt dem aktuellen Inhalt einfach mit z.B. "a" fülle, funzt es problemlos. Daher habe ich wie unten gezeigt mit str-replace alle Zeilenumbrüche gelöscht. Es klappt aber trotzdem nicht.
    Weiß jemand woran das liegt oder wie man es beheben kann?

    <?php
    $bar_dropdown_inhalt="
    <div style='border:3px groove #999999;   width:220px;height:145px;padding:0px;'>
    
    	<table border='0' cellspacing='0' style='width:100%;'>
    		<tr>
    			<td style='padding-left:10px;'>
    				<a href=''><div>Einstellungen</div></a>
    				<a href=''><div>Account</div></a>
    				<a href=''><div>Designanpassungen</div></a>
    			</td>
    			<td align='right' style='width:85px;'>
    				<img src='".$folder."data/avatars/default.jpg' width='80px' style='border:2px solid 336699;'>
    			</td>
    		</tr>
    	</table>
    
    	<div style='text-align:right;margin-top:15px;'>
    		<a href=''><div>Hilfsdatenbank</div></a>
    		<a href=''><div>Abmelden</div></a>
    	</div>
    
    	</div>";
    $bar_dropdown_inhalt = str_replace("\n", "", $bar_dropdown_inhalt);
    ?>
    
    
    <script language="JavaScript" type="text/javascript">
    	function bar_dropdown () {
    	    document.getElementById("bar_dropdownbox").innerHTML += "<?php echo $bar_dropdown_inhalt; ?>";
    	}
    </script>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    versuch die Variable mal mit einem var_dump auszugeben und reinige sie ggf. mit trim(), es kann sein das es noch Leerzeichen und anderen kram drin hat der da nix zu suchen hat und den man auch nicht sofort sieht.
    Das var_dump zeigt dir dann an wie viele Zeichen die einzelnen Einträge haben, kannst dann ja mal nachzählen.

    Grüsse
    Color
  4. squid schrieb:
    ... oder wie man es beheben kann?
    so?
    <?php
    
    // nur für die sichtbarkeit
    echo '<div id="bar_dropdownbox">test</div>';
    
    $folder = '';
    $bar_dropdown_inhalt = <<< EOT
    <div style="border:3px groove #999999;width:220px;height:145px;padding:0px;">
    
    	<table border="0" cellspacing="0" style="width:100%;">
    		<tr>
    			<td style="padding-left:10px;">
    				<a href="">Einstellungen</a>
    				<a href="">Account</a>
    				<a href="">Designanpassungen</a>
    			</td>
    			<td align="right" style="width:85px;">
    				<img src="$folder/data/avatars/default.jpg" width="80px" style="border:2px solid #336699;" />
    			</td>
    		</tr>
    	</table>
    
    	<div style="text-align:right;margin-top:15px;">
    		<a href="">Hilfsdatenbank</a>
    		<a href="">Abmelden</a>
    	</div>
    
    </div>
    
    EOT;
    
    // das brauchst du hier nicht
    #$bar_dropdown_inhalt = str_replace("\n", "", $bar_dropdown_inhalt);
    
    echo <<< EOT
    <script language="JavaScript" type="text/javascript">
    	function bar_dropdown() {
    	    document.getElementById("bar_dropdownbox").innerHTML += $bar_dropdown_inhalt;
    	}
    </script>
    
    // nur für die sichtbarkeit
    <script language="JavaScript" type="text/javascript">bar_dropdown();</script>
    
    EOT;


    Beitrag zuletzt geändert: 12.8.2011 23:15:35 von hemiolos
  5. h**s


    nochmal zum verständnis:

    str_replace sollte ja auch funktionieren... wahrscheinlich sind die umbrüche im string nicht nur mit "\n" sondern auch oder ersatzweise mit "\r" oder gar mit "\r\n" vorhanden.
  6. hcms schrieb:
    ... die umbrüche ...
    als idee ist ein erlesener schwachsinn. vergleiche originalcode mit dem ausgebesserten und kannst sehen, woran es gelegen hat.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!