onclick in document.write in functie

Status
Niet open voor verdere reacties.

knetter3

Gebruiker
Lid geworden
5 apr 2008
Berichten
56
Ik weet niet hoe ik dit aan het werk krijg:

HTML:
<script language='javascript'>
function latenzien(id)
{
document.getElementById(id).style.visibility = 'visible';
} 

function verstoppen(id)
{
document.getElementById(id).style.visibility = 'hidden';
}
function product (naam)
{
document.write('<div class="product"><a href="#" onclick="latenzien("'+ naam +'");"><img src="img/'+ naam +'.gif"><br>'+ naam +'</div></a>')
}

product("JWCE");
product("JWAE");
</script>

<div id='JWCE' class='productinfo' style='visibility: hidden'>
<a href="#" onclick='verstoppen("JWCE")'><img src='JWCE/img/delete.bmp' style='float: right;' border='0'></a>
</div>

De bedoeling is dus dat als je op de afbeelding of text in de d.write klikt, dat je dan de <div id='JWCE' te zien krijgt.

Hij werkt trouwens wel als je op deze link klikt:
HTML:
<a href='#' onclick='latenzien("JWCE");'>JWCE</a>
Dus het probleem ligt em denk ik in onclick="latenzien("'+ naam +'")
 
HTML:
onclick="latenzien("'+ naam +'")"

Daar sluit je je strings de dubbele quotes, er staan nu 3 strings:

  • "latenzien("
  • '+ naam +'
  • ")"

Je moet de dubbele quotes en enkele quotes weghalen:

HTML:
onclick="latenzien(naam)"
 
De syntax is fout. Volgens mij moet het gewoon "latenzien(naam)" zijn.

EDIT: Oeps, ErikBooy007 was me blijkbaar nét voor =D
 
Laatst bewerkt:
HTML:
function product (naam)
{
document.write('<div class="product"><a href="#" onclick="latenzien("'+ naam +'");"><img src="img/'+ naam +'.gif"><br>'+ naam +'</div></a>')
}

product("JWCE");
Dat genereert deze html:
<div class="product"><a href="#" onclick="latenzien("JWCE");"><img src="img/JWCE.gif"><br>JWCE</div></a>

Rond naam bij latenzien moeten dus enkele komma's die je met \' kunt invoegen:
Code:
document.write('<div class="product"><a href="#" onclick="latenzien(\'' + naam + '\'); return false;"><img src="img/' + naam + '.gif"><br>' + naam + '</div></a>');
:)


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan