Radio buttons
Ik ben bezig met o.a. een onderdelen database te maken. Je kan dan d.m.v. een radio button een onderdeel kiezen. Er volgt een verwerking en je kan een nieuwe keuze maken.
Die radio buttons worden gelijk met de unieke items uit een database gemaakt.
Nu wil ik, nadat de keuze die gemaakt is uit de radio buttons, die keuze via een geselecteerde radio button zichtbaar blijft.
Ik vond op het internet:
>form> <input type="radio" name="colors" id="red">Red<br></form>
<button onclick="check()">Check "Red"</button>
<script>
function check() {
document.getElementById("red").checked = true;
}
Ik dacht dat als ik nu "RED" vervang voor het ID van de opgevraagde data en elke button een id geef die gelijk is aan het id van die data, dan moet de radio button te selecteren zijn.
While($record= mysql_fetch_object($resultaat))
{
$soort_id=$record->soort_ID;
$soort=$record->soort;
?><script>
function check()
{
document.getElementById($soort_id).checked = true;
}
</script><script>
function check()
{
document.getElementById($soort_id).checked = true;
}
</script>
Die radio buttons worden gelijk met de unieke items uit een database gemaakt.
Nu wil ik, nadat de keuze die gemaakt is uit de radio buttons, die keuze via een geselecteerde radio button zichtbaar blijft.
Ik vond op het internet:
>form> <input type="radio" name="colors" id="red">Red<br></form>
<button onclick="check()">Check "Red"</button>
<script>
function check() {
document.getElementById("red").checked = true;
}
Ik dacht dat als ik nu "RED" vervang voor het ID van de opgevraagde data en elke button een id geef die gelijk is aan het id van die data, dan moet de radio button te selecteren zijn.
While($record= mysql_fetch_object($resultaat))
{
$soort_id=$record->soort_ID;
$soort=$record->soort;
?><script>
function check()
{
document.getElementById($soort_id).checked = true;
}
</script>
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
<?php
echo "<Input type = 'Radio' Name ='soortkeuze' value= $soort_id id=$soort_id>$soort<br>";
if ($soort_id==$selected_radio){Check '$soort_id' ;}
}[/i]
Nu krijg ik [b]Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING [/b] in
[i]if ($soort_id==$selected_radio){Check '$soort_id' ;}[/i]
Ik heb [i]Check $soort_id [/i] eerst geprobeerd maar dat werkte allemaal niet.
Vervolgens heb ik bedacht dat $soort_id nu een dubbel functie krijgt en dit het probleem kon geven.
[i]$x=1;
While($record= mysql_fetch_object($resultaat))
{
$soort_id=$record->soort_ID;
$soort=$record->soort;
?>
echo "<Input type = 'Radio' Name ='soortkeuze' value= $soort_id id=$soort_id>$soort<br>";
if ($soort_id==$selected_radio){Check '$soort_id' ;}
}[/i]
Nu krijg ik [b]Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING [/b] in
[i]if ($soort_id==$selected_radio){Check '$soort_id' ;}[/i]
Ik heb [i]Check $soort_id [/i] eerst geprobeerd maar dat werkte allemaal niet.
Vervolgens heb ik bedacht dat $soort_id nu een dubbel functie krijgt en dit het probleem kon geven.
[i]$x=1;
While($record= mysql_fetch_object($resultaat))
{
$soort_id=$record->soort_ID;
$soort=$record->soort;
?>
function check()
{
document.getElementById($soort_id).checked = true;
}
</script>
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
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
<?php
echo "<Input type = 'Radio' Name ='soortkeuze' value= $soort_id id=$x>$soort<br>";
if ($soort_id==$selected_radio){Check $id ;}
$x=$x++;
}[/i]
Nu heeft elke button de id van x. Maar ook dat gaat mis.
Ik ga dus ergens de mist in. Wie kan me helpen?
De radio functie button moet ge checked kunnen worden, die waarde moet dan weer veranderd kunnen worden door een andere button in te drukken. De database voorwerpen veranderd niet bij het kiezen alleen de lijst van voorwerpen die gekozen zijn.
[size=xsmall][i]Toevoeging op 26/04/2015 10:31:24:[/i][/size]
En koudweg had ik het geplaatst toen ik een z.g.n. brainwave kreeg:
$x=1;
While($record= mysql_fetch_object($resultaat))
{
$soort_id=$record->soort_ID;
$soort=$record->soort;
$keuze="";
if ($soort_id==$selected_radio){$keuze="CHECKED" ;}
echo "<Input type = 'Radio' Name ='soortkeuze' value= $soort_id id=$x $keuze>$soort<br>";
$x=$x++;
}
Niet zo lastig doen, gewoon het woord "CHECKED" op de juiste plaats er tussen zetten werkt.
Bedankt voor het lezen. Ik heb wat ik zocht. ;-)
echo "<Input type = 'Radio' Name ='soortkeuze' value= $soort_id id=$x>$soort<br>";
if ($soort_id==$selected_radio){Check $id ;}
$x=$x++;
}[/i]
Nu heeft elke button de id van x. Maar ook dat gaat mis.
Ik ga dus ergens de mist in. Wie kan me helpen?
De radio functie button moet ge checked kunnen worden, die waarde moet dan weer veranderd kunnen worden door een andere button in te drukken. De database voorwerpen veranderd niet bij het kiezen alleen de lijst van voorwerpen die gekozen zijn.
[size=xsmall][i]Toevoeging op 26/04/2015 10:31:24:[/i][/size]
En koudweg had ik het geplaatst toen ik een z.g.n. brainwave kreeg:
$x=1;
While($record= mysql_fetch_object($resultaat))
{
$soort_id=$record->soort_ID;
$soort=$record->soort;
$keuze="";
if ($soort_id==$selected_radio){$keuze="CHECKED" ;}
echo "<Input type = 'Radio' Name ='soortkeuze' value= $soort_id id=$x $keuze>$soort<br>";
$x=$x++;
}
Niet zo lastig doen, gewoon het woord "CHECKED" op de juiste plaats er tussen zetten werkt.
Bedankt voor het lezen. Ik heb wat ik zocht. ;-)
Je code is nogal een zooitje geworden, maar niet het ID van het input-veld moet gelijk zijn, maar de NAME.
Dat zooitje klopt. Ik moet eerlijk zijn dat ik door het experimenteren soms het bos niet meer zie en dat ik dan als het werkt, stukje bij beetje het onkruid weg haal.
Waarden van HTML attributen moeten in ieder geval tussen "dubbele quotes".
Ook is het niet nodig om eindeloos lappen HTML te echo'en. Je kunt heel makkelijk "in" en "uit" PHP codeblokken springen.
Dus in plaats van dit:
zoiets:
Dit maakt meteen je code een stuk beter leesbaar.
Ook zou ik je aanraden je HTML eens door een validator te halen, of een plugin voor je browser te installeren die dit doet.
En tot slot: als je nieuwe code aan het schrijven bent zou je geen functies moeten gebruiken die starten met mysql_. Deze extensie is namelijk al ~10 jaar verouderd.
Ook is het niet nodig om eindeloos lappen HTML te echo'en. Je kunt heel makkelijk "in" en "uit" PHP codeblokken springen.
Dus in plaats van dit:
Code (php)
1
2
3
2
3
<?php
echo "<Input type = 'Radio' Name ='soortkeuze' value= $soort_id id=$soort_id>$soort<br>";
?>
echo "<Input type = 'Radio' Name ='soortkeuze' value= $soort_id id=$soort_id>$soort<br>";
?>
zoiets:
Code (php)
Dit maakt meteen je code een stuk beter leesbaar.
Ook zou ik je aanraden je HTML eens door een validator te halen, of een plugin voor je browser te installeren die dit doet.
En tot slot: als je nieuwe code aan het schrijven bent zou je geen functies moeten gebruiken die starten met mysql_. Deze extensie is namelijk al ~10 jaar verouderd.
Dat MYSQL_ 10 jaar verouderd is, had ik begrepen. Helaas heb ik nog geen goede (werkende) uitleg gezien op het internet hoe ik het dan moet doen. Mijn Synology server accepteert nog de oude wijze maar zelf een gratis web ruimte wil al regelmatig de nieuwe schrijfwijze zien. Mocht jij dus een goede uitleg weten te vinden dan hou ik me aanbevolen.
Mijn vraag ging over het 'aan' en 'uit' zetten van een radio button met PHP. Ik ontdekte dat simpelweg 'checked' in de radio zin al een check plaatste bij de radio button. Ik hoefde dus geen 'checked=true' of 'checked=false' te gebruiken. Ik heb heel veel oplossingen gevonden maar bij mij bleven de radiobuttons die ik plaatste of allemaal unchecked of allemaal checked. Door simpelweg het woord in de zin te plaatsen kan je dus de button checken.
Ik had me in de koffiehoek al eens voorgesteld, wellicht wordt mijn manier van werken dan duidelijk.
Mijn vraag ging over het 'aan' en 'uit' zetten van een radio button met PHP. Ik ontdekte dat simpelweg 'checked' in de radio zin al een check plaatste bij de radio button. Ik hoefde dus geen 'checked=true' of 'checked=false' te gebruiken. Ik heb heel veel oplossingen gevonden maar bij mij bleven de radiobuttons die ik plaatste of allemaal unchecked of allemaal checked. Door simpelweg het woord in de zin te plaatsen kan je dus de button checken.
Ik had me in de koffiehoek al eens voorgesteld, wellicht wordt mijn manier van werken dan duidelijk.
Gewijzigd op 29/04/2015 08:03:20 door E Ander
Gewoon van elke mysql_ functie een mysqli_ functie maken, via zoeken en vervangen.. werkt ook op Synology.




