Hoi ik zit met een probleempje met javascript. Ik heb de volgende functie:
<script>
var MAX_ALLOWED=12;
var clickedData=new Array(false,false,false,false);
function itemsClicked(){var i=0;for(var j=0;j<clickedData.length;j++)i+=clickedData[j]?1:0;return(i);}
function itemClicked(_v)
{
var ALLOW_THIS=true;
var x=itemsClicked();
if (x>=MAX_ALLOWED && !clickedData[_v])
{
alert('U mag maar 12 fotos selecteren voor de site, om een andere foto te selecteren moet u er eerst eentje deselecteren!')
ALLOW_THIS=false;
}
else
{
clickedData[_v]=clickedData[_v]?false:true;
eval("document.exf1.r"+_v+".clicked=false;");
}
return (ALLOW_THIS);
}
</script>
Deze kijkt in een form hoeveel checkboxen er zijn aangevinkt en stelt een maximaal aantal in. Nou verwijst de eval("document.exf1.r"+_v+".clicked=false;"); naar de ckeckbox naam r_V waar _v staat voor een index nr wat voor iedere ckeckbox uniek is. Zo heb je dus checkboxen met name=r1, name=r2 ........ Nu heb ik om de waarden van deze checkboxen in php beter te kunnen verwerken de naam veranderd in een array dus checkboxen met name=r[1], name=r[3] ......
in de eval("document.exf1.r"+_v+".clicked=false;"); functie zou ik dus ook moeten verwijzen naar r[_v] maar ik krijg het niet voor elkaar dat javascript die blokhaken accepteert. dus omdat de blokhaken niet worden gezien door js krijg ik telkens de melding dat de document.exf1.r1 niet bestaat. ik heb het als volgt geprobeert:
document.exf1.r["+_v+"].clicked=false;
document.exf1.r"[+_v+]".clicked=false;
en nog op talloze andere manieren. Maar die gaat ik hier maar niet allemaal neer zetten. Maar mijn vraag is dus is er een manier of trucje dat js wel ziet dat er blokhaken om _v moeten staan??
<script>
var MAX_ALLOWED=12;
var clickedData=new Array(false,false,false,false);
function itemsClicked(){var i=0;for(var j=0;j<clickedData.length;j++)i+=clickedData[j]?1:0;return(i);}
function itemClicked(_v)
{
var ALLOW_THIS=true;
var x=itemsClicked();
if (x>=MAX_ALLOWED && !clickedData[_v])
{
alert('U mag maar 12 fotos selecteren voor de site, om een andere foto te selecteren moet u er eerst eentje deselecteren!')
ALLOW_THIS=false;
}
else
{
clickedData[_v]=clickedData[_v]?false:true;
eval("document.exf1.r"+_v+".clicked=false;");
}
return (ALLOW_THIS);
}
</script>
Deze kijkt in een form hoeveel checkboxen er zijn aangevinkt en stelt een maximaal aantal in. Nou verwijst de eval("document.exf1.r"+_v+".clicked=false;"); naar de ckeckbox naam r_V waar _v staat voor een index nr wat voor iedere ckeckbox uniek is. Zo heb je dus checkboxen met name=r1, name=r2 ........ Nu heb ik om de waarden van deze checkboxen in php beter te kunnen verwerken de naam veranderd in een array dus checkboxen met name=r[1], name=r[3] ......
in de eval("document.exf1.r"+_v+".clicked=false;"); functie zou ik dus ook moeten verwijzen naar r[_v] maar ik krijg het niet voor elkaar dat javascript die blokhaken accepteert. dus omdat de blokhaken niet worden gezien door js krijg ik telkens de melding dat de document.exf1.r1 niet bestaat. ik heb het als volgt geprobeert:
document.exf1.r["+_v+"].clicked=false;
document.exf1.r"[+_v+]".clicked=false;
en nog op talloze andere manieren. Maar die gaat ik hier maar niet allemaal neer zetten. Maar mijn vraag is dus is er een manier of trucje dat js wel ziet dat er blokhaken om _v moeten staan??