PDA

Volledige versie bekijken : Bestaat er een hide/unhide functie in php?


woopz
%Europe/Berlin %767 %2006, 19:24
Hallo allemaal,

Ik ben bezig een soort nieuwssysteem te maken in php. Alleen nu heb ik er ook een functie in staan dat gebruikers comments kunnen toevoegen. Dat formulier staat nu direct onder mijn nieuws bericht, en ik wil dat als er op een link word gedrukt het formulier pas 'open klapt'/te zien is.

Dus is er een soort van hide / unhide functie waardoor ik dat ik realiseren ;)
Of is er een andere/betere manier?

Alvast bedankt voor de hulp!

brossiekoppie
%Europe/Berlin %904 %2006, 22:43
dat kan oa via javascript. Je weet dat php serverside is en wat jij wil is een typische client side actie (het is wel al geladen maar je kan het nog niet zien).

zoek eens op javascript fold out ofzo. Je kan hier (http://script.aculo.us/) wat inspiratie opdoen en zoeken naar leuke javascript libraries.

woopz
%Europe/Berlin %376 %2006, 10:02
Een beetje vage website, ik kan er niets op vinden.. Misschien meer suggesties?

brossiekoppie
%Europe/Berlin %555 %2006, 14:20
http://home.att.net/~gobruen/progs/javascript/index.html#hideform

Dit zal iets beter zijn. Ik ben zelf niet echt een javascript-guru dus kan je niet zelf een script geven maar dit lijkt me wel ok.

DoubleJ
%Europe/Berlin %608 %2006, 15:36
<?php
if($comment == 'open'){
?>
<form>
// hier je formulier
</form>
<a href="jepagina.php?comment=closed"> Close </a> //om weer te sluiten
<?php
}else{
?>
<a href="jepagina.php?comment=open"> Open </a> // om te openen
<?php
}
?>

als je het in PHP wil doen dan..

brossiekoppie
%Europe/Berlin %711 %2006, 18:04
<?php
if($comment == 'open'){
?>
<form>
// hier je formulier
</form>
<a href="jepagina.php?comment=closed"> Close </a> //om weer te sluiten
<?php
}else{
?>
<a href="jepagina.php?comment=open"> Open </a> // om te openen
<?php
}
?>

als je het in PHP wil doen dan..

Wat je hier doet is even gevaarlijk als onlogisch.

Je gaat er van uit dat register_globals aanstaat en daarenboven gebruik je dit dan nog ook.
Terwijl je hier beter nooit op vertrouwt! Dus altijd $_GET['naam_van_de_var'] gebruiken.

De techniek die je hier beschrijft is daarentegen wel bruikbaar en evengoed als zou je js gebruiken.

mech7
%Europe/Berlin %756 %2006, 19:09
http://wiki.script.aculo.us/scriptaculous/show/CombinationEffectsDemo

Kijk eens bij blind down en up..

Een beetje vage website, ik kan er niets op vinden.. Misschien meer suggesties?

mknol
%Europe/Berlin %780 %2006, 19:44
<script type="text/javascript">
<!--
function LaatMaarZien(elmnt) {
if (document.getElementById(elmnt).style.display=="block"){
document.getElementById(elmnt).style.display="none"
} else {
document.getElementById(elmnt).style.display="block"
}
}
-->
</script>


zo gebruik je het:


<a href="#" onclick="javascript:LaatMaarZien('mijnID'); return false">[x]</a><br>
<div id ="mijnID">
Als je op de [x] drukt, is deze tekst weg.
</div>


Als je het als eerste niet wilt zien, moet je in je stylesheet #mijnID { display:none } aanmaken.

latino
%Europe/Berlin %377 %2006, 10:03
Wat je hier doet is even gevaarlijk als onlogisch.

Je gaat er van uit dat register_globals aanstaat en daarenboven gebruik je dit dan nog ook.
Terwijl je hier beter nooit op vertrouwt! Dus altijd $_GET['naam_van_de_var'] gebruiken.

De techniek die je hier beschrijft is daarentegen wel bruikbaar en evengoed als zou je js gebruiken.

misshien is $comment wel eerst gecontroleerd dat weet je niet zonde de rest van de code ;)

jazon
%Europe/Berlin %567 %2006, 14:37
Ik zou het via JavaScript in je CSS veranderen v.b.:
document.getElementById('id_van_het_form').style.v isibility = "hidden"; // of "visible"

De Kale
%Europe/Berlin %594 %2006, 15:16
twee functies om het voor elkaar te krijgen...
bekijk ook even die eerder post voor html implementatie

function getObj(name) {
if (document.getElementById) {
return document.getElementById(name).style;
} else
if (document.all) {
return document.all[name].style;
} else
if (document.layers) {
return document.layers[name];
} else {
return false;
}

}

function toggleDisplay(element) {
//alert ('toggle called');
if(!getObj(element)){
//alert('not found');
return;
}
//alert('object must have been found');
if(getObj(element).display=="block"){
//alert('block to none');
getObj(element).display="none";
}else {
//alert('none to block');
getObj(element).display="block";
}
//alert('nothing happened');
}