Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[JavaScript] Aflæse en prikmarkering der ikke er submitted?

1 view
Skip to first unread message

Bertel Lund Hansen

unread,
Jul 19, 2018, 4:26:40 PM7/19/18
to
Kan man i JavaScript aflæse en prikmarkering der ikke er
submitted?

Jeg har en stribe checkboxe (oprettet af PHP), og jeg vil gerne
vide hvilken der er prik i selv om siden ikke er submitted. Kan
det lade sig gøre?

Alternativt:
Kan jeg lave det der svarer til en serie checkboxe i JS uden at
bruge PHP - sådan så jeg nemt kan se hvilken der er valgt?

--
/Bertel

Kim Ludvigsen

unread,
Jul 19, 2018, 4:40:48 PM7/19/18
to
Den 19-07-2018 kl. 22:26 skrev Bertel Lund Hansen:
> Kan man i JavaScript aflæse en prikmarkering der ikke er
> submitted?
>
> Jeg har en stribe checkboxe (oprettet af PHP), og jeg vil gerne
> vide hvilken der er prik i selv om siden ikke er submitted. Kan
> det lade sig gøre?

Du får nok bedre svar fra andre, men de vil nok også gerne vide, hvad du
mener. Vil du - personligt - gerne vide det, altså fx ved at få tilsendt
en mail, eller vil du foretage handlinger på siden ud fra, om der er sat
flueben?

I sidstnævnte tilfælde kan du sikkert bruge funktionen onchange:
https://www.w3schools.com/jsref/event_onchange.asp

--
Mvh. Kim Ludvigsen

Bertel Lund Hansen

unread,
Jul 19, 2018, 5:24:53 PM7/19/18
to
Kim Ludvigsen skrev:

> Du får nok bedre svar fra andre, men de vil nok også gerne vide, hvad du
> mener. Vil du - personligt - gerne vide det, altså fx ved at få tilsendt
> en mail, eller vil du foretage handlinger på siden ud fra, om der er sat
> flueben?

Jeg fandt selv ud af det. Hvad jeg mener (og løsningen) kan du se
her:

http://bridge.lundhansen.dk/bridgeclock/silkeborgbridgeclock_setup.php
(siden er langt fra pæn endnu)

Det drejer sig om at vælge hvilke farver et ur (på en anden side)
skal vises med. Man skal kunne se med det samme hvordan det ser
ud.

Jeg fandt onChange(), men nu har jeg brugt "button" med onClick:

<button onclick='example(1,"Yellow") ...

--
/Bertel

Dennis Munding

unread,
Jul 20, 2018, 8:02:07 AM7/20/18
to
Bertel Lund Hansen wrote:

> Kan man i JavaScript aflæse en prikmarkering der ikke er
> submitted?

Hvis du med prikmarkering mener input type=radio, så ja.
(Gælder også for input type=checkbox - men der er stor forskel på de
to.)

> Jeg har en stribe checkboxe (oprettet af PHP), og jeg vil gerne
> vide hvilken der er prik i selv om siden ikke er submitted. Kan
> det lade sig gøre?

Nej, du har en usædvanlig lang række buttons (ikke kønt - slet ikke,
når det er indlejret i en table).

Men ja, man kan godt aflæse, om en checkbox/radio er sat.
Personligt foretrækker jeg at bruge jQuery, da det virker mere logisk
og overskueligt for mig (indtil jeg har lært javascript bedre at kende).

Jeg antager, at man kun må vælge én farve pr. kategori (baggrund og
skrift), derfor er nedenstående lavet med input type=radio.

Eksempel:

HTML:

<p>Vælg skriftfarve:</p>
Hvid <input class="skrift" type="radio" name="skrift" value="white" />
Sort <input class="skrift" type="radio" name="skrift" value="black" />
Grøn <input class="skrift" type="radio" name="skrift" value="green" />
Gul <input class="skrift" type="radio" name="skrift" value="yellow" />

<p>Vælg baggrundsfarve:</p>
Hvid <input class="baggrund" type="radio" name="baggrund" value="white"
/>
Sort <input class="baggrund" type="radio" name="baggrund" value="black"
/>
Grøn <input class="baggrund" type="radio" name="baggrund" value="green"
/>
Gul <input class="baggrund" type="radio" name="baggrund" value="yellow"
/>

<p id="test">Her ser du dine valgte farver</p>


jQuery:
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
// Definer et par globale variabler
var color,
background;

// Skriftfarven hentes og defineres hvis valgt
$("input[type='radio'].skrift").click(function() {
if($(this).is(':checked')){
color = $(this).val();
}
$("#test").css("color", color);
});

// Baggrundsfarven hentes og defineres hvis valgt
$("input[type='radio'].baggrund").click(function() {
if($(this).is(':checked')){
background = $(this).val();
}
$("#test").css("background", background);
});
});
</script>


> Alternativt:
> Kan jeg lave det der svarer til en serie checkboxe i JS uden at
> bruge PHP - sådan så jeg nemt kan se hvilken der er valgt?

Ja, det er muligt - jeg har dog ikke evnerne til at kaste et eksempel
på det her. :-)



--
Med venlig hilsen

Dennis Munding

Jan Hansen

unread,
Jul 20, 2018, 5:33:13 PM7/20/18
to
Den Thu, 19 Jul 2018 23:24:53 +0200 skrev Bertel Lund Hansen <gade...@lundhansen.dk>:

> Kim Ludvigsen skrev:
>
> > Du får nok bedre svar fra andre, men de vil nok også gerne vide, hvad du
> > mener. Vil du - personligt - gerne vide det, altså fx ved at få tilsendt
> > en mail, eller vil du foretage handlinger på siden ud fra, om der er sat
> > flueben?
>
> Jeg fandt selv ud af det. Hvad jeg mener (og løsningen) kan du se
> her:
>
> http://bridge.lundhansen.dk/bridgeclock/silkeborgbridgeclock_setup.php
> (siden er langt fra pæn endnu)
>
> Det drejer sig om at vælge hvilke farver et ur (på en anden side)
> skal vises med. Man skal kunne se med det samme hvordan det ser
> ud.

Hvad er de to <select> inde i <form></form> til ?
Hvis det er noget med at sende de farver, der er valgt med knapperne,
er det meget nemmere at bruge et par skjulte input-felter:

<input id="farve0" type='hidden' name='baggrundsfarve' value='White'>
<input id="farve1" type='hidden' name='forgrundsfarve' value='White'>

og så udfylde dem ved at tilføje en linie i function example(fgr,color)

document.getElementById('farve'+fgr).value=color;


> Jeg fandt onChange(), men nu har jeg brugt "button" med onClick:
onChange skal vel bruges, hvis de <select> skal opdatere eksemplet.


--
mvh Jan.
Help Microsoft stamp out piracy. Give
Linux to a friend today!

Bertel Lund Hansen

unread,
Jul 21, 2018, 4:13:53 AM7/21/18
to
Jan Hansen skrev:

> Hvad er de to <select> inde i <form></form> til ?

Scriptet er et opsætningsscript til et bridgeur. Valgene skal
gemmes i en fil, og derfor kan jeg ikke nøjes med JavaScript.
Derfor er jeg også nødt til at lave de egentlige valg i en form
som skal submittes, og Javascript kan kun sørge for at man med
det samme kan se hvordan et givet farvevalg vil tage sig ud.

> Hvis det er noget med at sende de farver, der er valgt med knapperne,
> er det meget nemmere at bruge et par skjulte input-felter:

Ja, hvis ikke de skulle gemmes i en fil.

--
/Bertel

Dennis Munding

unread,
Jul 21, 2018, 4:22:28 AM7/21/18
to
Bertel Lund Hansen wrote:

> Jan Hansen skrev:
>
> > Hvad er de to <select> inde i <form></form> til ?
>
> Scriptet er et opsætningsscript til et bridgeur. Valgene skal
> gemmes i en fil, og derfor kan jeg ikke nøjes med JavaScript.
> Derfor er jeg også nødt til at lave de egentlige valg i en form
> som skal submittes, og Javascript kan kun sørge for at man med
> det samme kan se hvordan et givet farvevalg vil tage sig ud.

Hvorfor lave 'dobbelt-konfekt'?
Du kan sagtens nøjes med dine to selecter og så bruge onchange til at
vise resultatet af valget.
Er brugeren tilfreds, så sendes formularen og det ønskede valg gemmes.
:-)


> > Hvis det er noget med at sende de farver, der er valgt med
> > knapperne, er det meget nemmere at bruge et par skjulte
> > input-felter:
>
> Ja, hvis ikke de skulle gemmes i en fil.

Værdier fra skjulte felter kan sagtens gemmes - det er jo kun brugeren,
der ikke kan se dem.



--
Med venlig hilsen

Dennis Munding

---
Denne mail er kontrolleret for vira af AVG.
http://www.avg.com

Bertel Lund Hansen

unread,
Jul 21, 2018, 4:42:54 AM7/21/18
to
Dennis Munding skrev:

> Hvorfor lave 'dobbelt-konfekt'?
> Du kan sagtens nøjes med dine to selecter og så bruge onchange til at
> vise resultatet af valget.

Det kan jeg godt se, men jeg så helst at man valgte ved at klikke
på farven. I selecten skal man vælge med ord, og det er ikke
indlysende hvilken slags farve der svarer til navnet.

> Værdier fra skjulte felter kan sagtens gemmes - det er jo kun brugeren,
> der ikke kan se dem.

Nå, du mener at JS bestemmer hvad der står i inputfeltet? Det vil
jeg prøve at lave. Jeg laver dem måske ikke skjult. Det er nok
rart at der et sted står:

Baggrundsfarve: rød

i klar tekst når man klikker "Save values".

--
/Bertel

Kim Ludvigsen

unread,
Jul 21, 2018, 5:24:31 AM7/21/18
to
Den 21-07-2018 kl. 10:13 skrev Bertel Lund Hansen:
> Jan Hansen skrev:
>
>> Hvad er de to <select> inde i <form></form> til ?
>
> Scriptet er et opsætningsscript til et bridgeur. Valgene skal
> gemmes i en fil, og derfor kan jeg ikke nøjes med JavaScript.

En fil på serveren? Hvorfor ikke bare gemme dem i en cookie? Det kan
gøres med JavaScript, og du slipper helt for, at de skal submitte valget.

--
Mvh. Kim Ludvigsen

Dennis Munding

unread,
Jul 21, 2018, 6:11:54 AM7/21/18
to
Bertel Lund Hansen wrote:

> Dennis Munding skrev:
>
> > Hvorfor lave 'dobbelt-konfekt'?
> > Du kan sagtens nøjes med dine to selecter og så bruge onchange til
> > at vise resultatet af valget.
>
> Det kan jeg godt se, men jeg så helst at man valgte ved at klikke
> på farven. I selecten skal man vælge med ord, og det er ikke
> indlysende hvilken slags farve der svarer til navnet.

Måske jeg misforstår noget, men har du ikke boksen med uret ved siden
af i den endelige version?

Hvis boksen skal være der, bliver farverne jo vist i samme øjeblik,
brugeren vælger nye i de to selecter.
(naturligvis skal der laves noget javascript/jQuery for at få det til
at virke. :-) )

> > Værdier fra skjulte felter kan sagtens gemmes - det er jo kun
> > brugeren, der ikke kan se dem.
>
> Nå, du mener at JS bestemmer hvad der står i inputfeltet? Det vil
> jeg prøve at lave. Jeg laver dem måske ikke skjult. Det er nok
> rart at der et sted står:
>
> Baggrundsfarve: rød
>
> i klar tekst når man klikker "Save values".


Ja, men har dog svært ved at se, hvilket formål de to felter har...

Dennis Munding

unread,
Jul 21, 2018, 6:15:31 AM7/21/18
to
Måske fordi cookies ligger lokalt på en pc og dermed skal brugeren
vælge farver igen, hvis han/hun tilgår siden via en anden pc.

Med en serverside-løsning undgår man den slags irritationsmomenter over
for sine besøgende - det kaldes brugervenlighed... ;-)

Bertel Lund Hansen

unread,
Jul 21, 2018, 7:28:47 AM7/21/18
to
Dennis Munding skrev:

> Måske jeg misforstår noget, men har du ikke boksen med uret ved siden
> af i den endelige version?

Jo

> Hvis boksen skal være der, bliver farverne jo vist i samme øjeblik,
> brugeren vælger nye i de to selecter.

Ja, og måske prøver jeg den version, men jeg tror det er bedst at
man kikker på en farve og så tænker at den vil man gerne have og
så klikker på den. Det er mindre direkte at skulle aflæse dens
navn og bagefter finde det i selecten.

>> Nå, du mener at JS bestemmer hvad der står i inputfeltet? Det vil
>> jeg prøve at lave. Jeg laver dem måske ikke skjult. Det er nok
>> rart at der et sted står:

>> Baggrundsfarve: rød
>>
>> i klar tekst når man klikker "Save values".

> Ja, men har dog svært ved at se, hvilket formål de to felter har...

De skal bruges når PHP skal gemme en fil med de valgte værdier.

--
/Bertel

Bertel Lund Hansen

unread,
Jul 21, 2018, 7:30:06 AM7/21/18
to
Dennis Munding skrev:

> Måske fordi cookies ligger lokalt på en pc og dermed skal brugeren
> vælge farver igen, hvis han/hun tilgår siden via en anden pc.

> Med en serverside-løsning undgår man den slags irritationsmomenter over
> for sine besøgende - det kaldes brugervenlighed... ;-)

Præcis.

--
/Bertel

Jan Hansen

unread,
Jul 21, 2018, 8:35:32 AM7/21/18
to
21 Jul 2018 13:28:47 +0200 skrev Bertel Lund Hansen <gade...@lundhansen.dk>:

> Dennis Munding skrev:
>
> > Måske jeg misforstår noget, men har du ikke boksen med uret ved siden
> > af i den endelige version?
>
> Jo
>
> > Hvis boksen skal være der, bliver farverne jo vist i samme øjeblik,
> > brugeren vælger nye i de to selecter.
>
> Ja, og måske prøver jeg den version, men jeg tror det er bedst at
> man kikker på en farve og så tænker at den vil man gerne have og
> så klikker på den. Det er mindre direkte at skulle aflæse dens
> navn og bagefter finde det i selecten.

Jeg var inde og se i går formiddags, der var ingen select. Om aftenen
var de der, så jeg regnede med, at du var gået i stå ved at få javascript
til at skrive noget i en formular. Men hvis de select skal være der,
er det ikke den store videnskab at få tryk på knapperne til at opdatere
dem.
Giv hver af dem en ID:

<select name='bgr' id="liste0">
<select name='fgr' id="liste1">

og lav lidt tilføjelse i example:

function example(fgr,color){
x = document.getElementById('liste' + fgr);
for (i=0; i< x.options.length ;i++) {
if (x.options[i].text == color) x.selectedIndex = i;
}
if (fgr)
document.getElementById('field0').style.color=color;
else
document.getElementById('field0').style.background=color;

Dennis Munding

unread,
Jul 21, 2018, 2:03:58 PM7/21/18
to
Bertel Lund Hansen wrote:

> Dennis Munding skrev:
>
> > Hvis boksen skal være der, bliver farverne jo vist i samme øjeblik,
> > brugeren vælger nye i de to selecter.
>
> Ja, og måske prøver jeg den version, men jeg tror det er bedst at
> man kikker på en farve og så tænker at den vil man gerne have og
> så klikker på den. Det er mindre direkte at skulle aflæse dens
> navn og bagefter finde det i selecten.

Deet kan du jo style dig ud af med css - en option kan også tildeles en
baggrundsfarve og/eller farve. :-)


> >> Nå, du mener at JS bestemmer hvad der står i inputfeltet? Det vil
> >> jeg prøve at lave. Jeg laver dem måske ikke skjult. Det er nok
> >> rart at der et sted står:
>
> >> Baggrundsfarve: rød
> >>
> >> i klar tekst når man klikker "Save values".
>
> > Ja, men har dog svært ved at se, hvilket formål de to felter har...
>
> De skal bruges når PHP skal gemme en fil med de valgte værdier.


Hvorfor ikke blot hente værdierne direkte fra dine selecter??

Bertel Lund Hansen

unread,
Jul 21, 2018, 3:27:31 PM7/21/18
to
Dennis Munding skrev:

>>> Ja, men har dog svært ved at se, hvilket formål de to felter har...

>> De skal bruges når PHP skal gemme en fil med de valgte værdier.

> Hvorfor ikke blot hente værdierne direkte fra dine selecter??

Det bliver enten select eller input. Det kikker jeg på senere.

--
/Bertel
0 new messages