Hallo allemaal,
Ik heb een vraag over een stuk javascript. Ik ben al tijden aan het zoeken naar een oplossing en al vele dingen geprobeerd maar het werkt maar niet. Mijn Javascript kennis is beperkt.
Het doel van de code is dat een vraag uit mijn formulier beantwoord kan worden met radio buttons, maar dat er bij de laatste radio button van de vraag een textbox verschijnt zodra er op geklikt wordt.
Mijn formulier is opgebouwd uit 2 paginas welke binnen hetzelfde .php document zijn geprogrammeerd. Binnen het .php document wordt dus intern doorverwezen.
Op de eerste pagina kan je intresses aanvinken, bijvoorbeeld auto en fiets.
Op de tweede pagina wordt vervolgens gekeken welke intresses je hebt aangevinkt om zo de rubrieken te tonen. In dit voorbeeld krijg je dus een rubriek auto en fiets.
Op de 2de pagina is het de bedoeling dat de rubrieken worden ingevuld.
Nu wil ik bij zowel rubriek auto als bij rubriek fiets een vraag laten beantwoorden met radiobuttons waarbij de laatste optie van iedere vraag een textbox bevat.
Mijn 2 vragen in het formulier zien er als volgt uit:
Hierbij mijn javascript:
Als ik beide rubrieken aanvink op pagina 1 doen alle 2 de vragen het goed. Als ik maar 1 rubriek aanvink op pagina 1 dan werkt alleen degene welke als eerste opgevraagt wordt tijdens window.onload. Zodra ik de window.onload omdraai werkt de andere vraag weer niet. Beetje veel tekst maar ik hoop dat het duidelijk is zo. Alvast bedankt voor eventuele reacties.
Ik heb een vraag over een stuk javascript. Ik ben al tijden aan het zoeken naar een oplossing en al vele dingen geprobeerd maar het werkt maar niet. Mijn Javascript kennis is beperkt.
Het doel van de code is dat een vraag uit mijn formulier beantwoord kan worden met radio buttons, maar dat er bij de laatste radio button van de vraag een textbox verschijnt zodra er op geklikt wordt.
Mijn formulier is opgebouwd uit 2 paginas welke binnen hetzelfde .php document zijn geprogrammeerd. Binnen het .php document wordt dus intern doorverwezen.
Op de eerste pagina kan je intresses aanvinken, bijvoorbeeld auto en fiets.
Op de tweede pagina wordt vervolgens gekeken welke intresses je hebt aangevinkt om zo de rubrieken te tonen. In dit voorbeeld krijg je dus een rubriek auto en fiets.
Op de 2de pagina is het de bedoeling dat de rubrieken worden ingevuld.
Nu wil ik bij zowel rubriek auto als bij rubriek fiets een vraag laten beantwoorden met radiobuttons waarbij de laatste optie van iedere vraag een textbox bevat.
Mijn 2 vragen in het formulier zien er als volgt uit:
Code:
<div>
<label><input type="radio" name="autokleur" value="geel" <? echo $check1?> >geel</label>
<label><input type="radio" name="autokleur" value="groen" <? echo $check2?> >groen</label>
<label><input type="radio" name="autokleur" value="Anders" <? echo $check3?> >Anders, namelijk</label>
<div id="Anders">
<input class="textbox" maxlength="20" size="35" name="autokleur2" type="text" value="<?php echo $_POST['autokleur2']; ?>">
</div>
</div>
<div>
<label><input type="radio" name="fietskleur" value="geel" <? echo $check4?> >Nee</label>
<label><input type="radio" name="fietskleur" value="anders2" <? echo $check5?> >anders</label>
<div id="anders2">
<input class="textbox" maxlength="20" size="35" name="fietskleur2" type="text" value="<?php echo $_POST['fietskleur2']; ?>">
</div>
</div>
Hierbij mijn javascript:
Code:
function hidethis1() {
hide();
var group=document.getElementsByName('autokleur');
for(var i=0; i<group.length; i++) {
group[i].onclick=function hidethis1() {
toggle(this.value);};
}
}
function hide() {
if(document.gegevens.autokleur[2].checked){
document.getElementById('Anders').style.display = '';
} else {
document.getElementById('Anders').style.display = 'none';
}
}
function toggle(objID) {
hide();
if(objID!='groen') {
document.getElementById(objID).style.display='';
}
}
function hidethis2() {
hides();
var groupa=document.getElementsByName('fietskleur');
for(var s=0; s<groupa.length; s++) {
groupa[s].onclick=function hidethis2() {
toggles(this.value);};
}
}
function hides() {
if(document.gegevens.fietskleur[1].checked){
document.getElementById('anders2').style.display = '';
} else {
document.getElementById('anders2').style.display = 'none';
}
}
function toggles(objID) {
hides();
if(objID!='geel') {
document.getElementById(objID).style.display='';
}
}
window.onload= function {
hidethis();
hidethis2();
}
Als ik beide rubrieken aanvink op pagina 1 doen alle 2 de vragen het goed. Als ik maar 1 rubriek aanvink op pagina 1 dan werkt alleen degene welke als eerste opgevraagt wordt tijdens window.onload. Zodra ik de window.onload omdraai werkt de andere vraag weer niet. Beetje veel tekst maar ik hoop dat het duidelijk is zo. Alvast bedankt voor eventuele reacties.