Radiobuttons uitlezen
Op een bepaalde pagina heb ik de volgende radiobuttons:
'move' . $i . '[]'
'move' . $i . '[]'
'move' . $i . '[]'
Hierbij is $i een willekeurig getal. Deze radiobuttons wil ik uitlezen dmv javascript. Als je op de submit button drukt van het formulier waarin de radiobuttons staan, wordt er een javascript functie opgeroepen. De willekeurige $i wordt als parameter meegegeven.
Bij het uitlezen van de radiobuttons in de javascript functie dacht ik aan zoiets:
Code (php)
1
2
3
4
5
2
3
4
5
for (k=0; k<2; k++) {
if (document.edit_image.elements[("move" + i)[k]]) { //formuliernaam is edit_image
alert("hoi");
}
}
if (document.edit_image.elements[("move" + i)[k]]) { //formuliernaam is edit_image
alert("hoi");
}
}
Dit werkt echter niet, geeft een error als "has no properties" op de if-regel.
Hoe moet het wel?
Bvd, RT.
Gewijzigd op 01/01/1970 01:00:00 door RT
Ik weet niet precies wat je probeert te doen dus ik zal maar een klein voorbeeld geven.
Stel je hebt dit formulier:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<form name="fruit" onSubmit="choice(); return false;">
Wat eet je het liefst? <br/>
<input type="radio" name="keuze" value="appel" />appel<br />
<input type="radio" name="keuze" value="peer" />peer<br />
<input type="radio" name="keuze" value="sinaasappel" />sinaasappel<br />
<br />
<input type="submit" value="Kies" / >
</form>
Wat eet je het liefst? <br/>
<input type="radio" name="keuze" value="appel" />appel<br />
<input type="radio" name="keuze" value="peer" />peer<br />
<input type="radio" name="keuze" value="sinaasappel" />sinaasappel<br />
<br />
<input type="submit" value="Kies" / >
</form>
En dit stukje javascript:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
function choice()
{
for (var i=0; i < document.fruit.keuze.length; i++)
{
if (document.fruit.keuze[i].checked)
{
var choice = document.fruit.keuze[i].value;
}
}
if(choice == undefined){
var choice = 'niets';
}
alert('Je hebt ' + choice + ' gekozen!');
}
{
for (var i=0; i < document.fruit.keuze.length; i++)
{
if (document.fruit.keuze[i].checked)
{
var choice = document.fruit.keuze[i].value;
}
}
if(choice == undefined){
var choice = 'niets';
}
alert('Je hebt ' + choice + ' gekozen!');
}
Dan krijg je nadat je wat kiest een alert met daarin je keuze.
Het komt er op neer dat je bij radiobuttons moet loopen om te kijken wat er gekozen is.
Hopelijk kun je dit kleine voorbeeld toepassen op je eigen situatie.
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
Het probleem zit het er bij mij in dat in de naam van de radiobutton een willekeurig getal zit. Hoe verwerk ik zoiets in document.form.radiobutton?
Bvd RT.
move1[]
move2[]
move3[]
En dan wil je als een van die gesubmit wordt de value hebben?
edit: of je wilt bij de submit van het formulier alle values hebben?
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
Dan heb ik een aantal radiobuttons, die samen een groep zijn waartussen je dus moet kiezen:
move R []
move R []
move R []
drie stuks dus.
Van deze groep wil ik de keuze weten (de geselecteerde radiobutton), that's it ;)
ps. als je trouwens een groep radiobuttons hebt (met name="bla" en verschillende values)
dan krijg je de values op de volgende manier:
bla[0].value
bla[1].value
anyway, waarvoor is die R dan?
Excuus als ik dom loop te doen ;)
Ik heb een fotoboek gemaakt. In de admin van dat fotoboek kun je een album aanklikken, waarna je een pagina krijgt met een x aantal formuliertjes. Voor elke afbeelding in dat album een formuliertje, hierin kun je dingen aanpassen als commentaar, titel etc. In elk formuliertje staat ook een groepje van die 3 radiobuttons. Het getal R is gelijk aan de plaats van het formulier.
Maargoed, die R geef ik dus door als parameter in de javascript functie.
Via de R weet ik dus op welke afbeelding die radiobuttons, waar ze ook voor mogen zijn, van toepassing zijn.
Gewijzigd op 01/01/1970 01:00:00 door RT
Ik heb weer een voorbeeld gemaakt op basis van mijn vorige voorbeeld.
Nu heb ik 3 fruit formulieren:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<form name="fruit1" onSubmit="getchoice(this, 1); return false;">
Wat eet je het liefst? <br/>
<input type="radio" name="keuze" value="appel" />appel<br />
<input type="radio" name="keuze" value="peer" />peer<br />
<input type="radio" name="keuze" value="sinaasappel" />sinaasappel<br />
<br />
<input type="submit" value="Kies" / >
</form>
<form name="fruit2" onSubmit="getchoice(this, 2); return false;">
Wat eet je het liefst? <br/>
<input type="radio" name="keuze" value="appel" />appel<br />
<input type="radio" name="keuze" value="peer" />peer<br />
<input type="radio" name="keuze" value="sinaasappel" />sinaasappel<br />
<br />
<input type="submit" value="Kies" / >
</form>
<form name="fruit3" onSubmit="getchoice(this, 3); return false;">
Wat eet je het liefst? <br/>
<input type="radio" name="keuze" value="appel" />appel<br />
<input type="radio" name="keuze" value="peer" />peer<br />
<input type="radio" name="keuze" value="sinaasappel" />sinaasappel<br />
<br />
<input type="submit" value="Kies" / >
Wat eet je het liefst? <br/>
<input type="radio" name="keuze" value="appel" />appel<br />
<input type="radio" name="keuze" value="peer" />peer<br />
<input type="radio" name="keuze" value="sinaasappel" />sinaasappel<br />
<br />
<input type="submit" value="Kies" / >
</form>
<form name="fruit2" onSubmit="getchoice(this, 2); return false;">
Wat eet je het liefst? <br/>
<input type="radio" name="keuze" value="appel" />appel<br />
<input type="radio" name="keuze" value="peer" />peer<br />
<input type="radio" name="keuze" value="sinaasappel" />sinaasappel<br />
<br />
<input type="submit" value="Kies" / >
</form>
<form name="fruit3" onSubmit="getchoice(this, 3); return false;">
Wat eet je het liefst? <br/>
<input type="radio" name="keuze" value="appel" />appel<br />
<input type="radio" name="keuze" value="peer" />peer<br />
<input type="radio" name="keuze" value="sinaasappel" />sinaasappel<br />
<br />
<input type="submit" value="Kies" / >
en deze javascript:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function getchoice(form, formid)
{
var el = form;
for (var i=0; i < el.keuze.length; i++)
{
if (el.keuze[i].checked)
{
var choice = el.keuze[i].value;
}
}
if(choice == undefined){
var choice = 'niets';
}
alert('Je hebt ' + choice + ' gekozen in formulier ' + formid + '!');
}
{
var el = form;
for (var i=0; i < el.keuze.length; i++)
{
if (el.keuze[i].checked)
{
var choice = el.keuze[i].value;
}
}
if(choice == undefined){
var choice = 'niets';
}
alert('Je hebt ' + choice + ' gekozen in formulier ' + formid + '!');
}
Nu krijg je per formulier een alert met je keuze + het nummer van het formulier.
Het enige verschil is dat jij R alleen in de formuliernaam verwerkt, en ik ook in de naam van de radiobuttons. Ik ga er eens mee aan de slag, als het niet lukt hoor je het wel.
Maar ik zie jou script nergens iets van document.form.element.blabla
document ergens vergeten?
Bvd RT
Ik heb 't nog even getest voor je.
Laat je code eens zien.
Edit:
hier heb je alles op 1 pagina, kun je zelf even mee testen
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP