Variable in Javascript-Funktion übergeben

vandamp

Erfahrenes Mitglied
Hallo,

ich habe ein Problem.
Ich will eine Variable in einer Javascript Funktion übergeben, aber es klappt nicht ;(
er schreibt mir Parse error: parse error, expecting `','' or `';' in der Zeile <input type="button" value="Browse Server" onclick="BrowseServer('Images:/', '.$zeichen.');" ></td>

kann mir jemand helfen? habe schon versucht die zeile in html zu übergeben und per echo die variable einzufügen, aber das klappt auch nicht

PHP:
$zeichen = "sm_datei".$i;
echo'
<tr class="Color'.$t.'">
<td><input type="text" name="sm_zeichen'.$i.'" value="" size="4"></td>
<td><input type="text" id ="sm_datei'.$i.'" name="sm_datei'.$i.'" size="40"> 
<input type="button" value="Browse Server" onclick="BrowseServer('Images:/', '.$zeichen.');" ></td>
<td><img src=""></td>
</tr>';
 
Du musst die Single Quotes mit Hilfe von Backslashes escapen:

PHP:
$zeichen = "sm_datei".$i;
echo'
<tr class="Color'.$t.'">
<td><input type="text" name="sm_zeichen'.$i.'" value="" size="4"></td>
<td><input type="text" id ="sm_datei'.$i.'" name="sm_datei'.$i.'" size="40"> 
<input type="button" value="Browse Server" onclick="BrowseServer(\'Images:/\', '.$zeichen.');" ></td>
<td><img src=""></td>
</tr>';
 
Ich hatte vor ein paar Zeiteinheiten mal einen relativ guten Link gepostet (soweit ich mich erinner), bei dem das genauer beschrieben wurde - ich schau mal ob ich den noch finden kann. ;)
 
Wenn du beim "tr" statt mit Color mit 2 style-Klassen arbeitest, hätte ich etwas für dich ;)


PHP:
	function class_switcher()
	{
		static $class_current;
		if (!isset($class_current))
		{
			return $class_current = 'row_class_second';
		}
		switch ($class_current)
		{
			case 'row_class_first':
				$class_current = 'row_class_second';
				break;

			case 'row_class_second':
				$class_current = 'row_class_first';
				break;
		}
		return $class_current;
	}


Einsetzen kannst du es dann mit:

HTML:
<tr class="<?php echo class_switcher(); ?>">.......</tr>

Im Stylesheet musst du dann allerdings die Klassen für "row_class_second" und "row_class_first" anlegen
 
wäre echt hilfreich, wenn du den Link noch finden würdest ;)
eine kleine Hilfe, die ich mir an die Wand picken kann würde mir gefallen.

hmm da finde ich, habe ich den eleganteren Weg gefunden mit dem Modulos-Operator, aber danke

PHP:
$t = $i % 2;
<tr class="Color'.$t.'">

zitat:
"Wir teilen einfach eine Zahl durch 2 und ermitteln dadurch den Restwert der Division.

Ist das Ergebnis ungerade (z. B. 1, 3, 5, 7), so erhalten wir als Restwert 1, bei einem geraden Restwert (z. B. 0, 2, 4, 6) dagegen die 0 (Null). Diese beiden Werte reichen vollständig aus, um damit über eine CSS-Klasse die Farbe zu bestimmen"
 
Zuletzt bearbeitet:
Zurück