Div Hide/Show probleem

Status
Niet open voor verdere reacties.

Lexie2408

Gebruiker
Lid geworden
7 jan 2008
Berichten
42
Hoi,

Ik heb voor een website de volgende JavaScript gebruikt:

[JS]function toggle(toggleText, displayText) {
var ele = document.getElementById("toggleText");
var text = document.getElementById("displayText");
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "View report";
}
else {
ele.style.display = "block";
text.innerHTML = "Hide report";
}
}[/JS]

En in de HTML de volgende verwijzing hier naar toe (dynamisch d.m.v. PHP)

PHP:
<a id="displayText' . $i . '" href="javascript:toggle(\'displayText' . $i . '\', \'displayText' . $i .'\');">View report</a> 
					<div id="toggleText' . $i . '" style="display: none">'. $row['report'] . '</div>

Echter, wanneer ik dit uit probeer geeft dit geen resultaat... Iemand een idee..?

Dank alvast!
 
Ik ben er niet super handig mee, maar wat ik als basis wel weet nog, heb je de codering ook aangegeven als javascript codering? Dat begin zinnetje waarmee het tekstdocument weet dat het om een javascript codering gaat, verder zie ik zo niet in de codering iets verkeerd staan.
 
PHP:
		$i = 1;
		
		while($row = mysql_fetch_array($result))
		{
			echo "<strong>Report</strong>: " . $row['vapid'] . "<br />";
			echo "<strong>Institution: </strong>" . $row['institution'] . " (" . $row['city'] . ", " . $row['country'] . ", " . $row['region'] .")<br />";
			echo "<strong>Year: </strong>" . $row['year'] . "<br />";
			echo '<a id="displayText' . $i . '" href="javascript:toggle(\'displayText' . $i . '\', \'displayText' . $i .'\');">View report</a> 
					<div id="toggleText' . $i . '" style="display: none">'. $row['report'] . '</div>';
			
			$pdf = str_replace(" ","",$row['vapid']); 
			
			echo '<br /><a href="pdf/' . $pdf .'.pdf">Download PDF</a>';
			echo "<hr />";
			
			$i++;
		}
 
Regel 2 en 3 zijn fout, je gebruikt daar Strings, in plaats de variabelen die je parameters zijn :)

dus: dit

[js]var ele = document.getElementById("toggleText");
var text = document.getElementById("displayText");[/js]

moet zijn

[js]var ele = document.getElementById(toggleText);
var text = document.getElementById(displayText);[/js]

er zijn immers geen elementen met het ID toggleText en displayText.



daarnaast zijn href=javascript:... links een beetje 1997, beter is om een onclick te gebruiken, of nog beter, event handlers.
 
Laatst bewerkt:
Werkt! Inmiddels gemoderniseerd naar onClick.... (nog net geen 2011... ;-) )
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan