Discussion:
[JavaScript] Aflæse en prikmarkering der ikke er submitted?
(for gammel til at besvare)
Bertel Lund Hansen
2018-07-19 20:26:39 UTC
Permalink
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
2018-07-19 20:40:35 UTC
Permalink
Post by 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
2018-07-19 21:24:53 UTC
Permalink
Post by Kim Ludvigsen
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
Jan Hansen
2018-07-20 21:33:12 UTC
Permalink
Post by Bertel Lund Hansen
Post by Kim Ludvigsen
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
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;
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
2018-07-21 08:13:52 UTC
Permalink
Post by Jan Hansen
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.
Post by Jan Hansen
Hvis det er noget med at sende de farver, der er valgt med knapperne,
Ja, hvis ikke de skulle gemmes i en fil.
--
/Bertel
Dennis Munding
2018-07-21 08:21:09 UTC
Permalink
Post by Bertel Lund Hansen
Post by Jan Hansen
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.
:-)
Post by Bertel Lund Hansen
Post by Jan Hansen
Hvis det er noget med at sende de farver, der er valgt med
knapperne, er det meget nemmere at bruge et par skjulte
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
2018-07-21 08:42:54 UTC
Permalink
Post by Dennis Munding
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.
Post by Dennis Munding
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
Dennis Munding
2018-07-21 10:10:35 UTC
Permalink
Post by Bertel Lund Hansen
Post by Dennis Munding
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. :-) )
Post by Bertel Lund Hansen
Post by Dennis Munding
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
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...
--
Med venlig hilsen

Dennis Munding

---
Denne mail er kontrolleret for vira af AVG.
http://www.avg.com
Bertel Lund Hansen
2018-07-21 11:28:47 UTC
Permalink
Post by Dennis Munding
Måske jeg misforstår noget, men har du ikke boksen med uret ved siden
af i den endelige version?
Jo
Post by Dennis Munding
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.
Post by Dennis Munding
Post by Bertel Lund Hansen
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
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
Jan Hansen
2018-07-21 12:35:30 UTC
Permalink
Post by Bertel Lund Hansen
Post by Dennis Munding
Måske jeg misforstår noget, men har du ikke boksen med uret ved siden
af i den endelige version?
Jo
Post by Dennis Munding
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;
}
--
mvh Jan.
Help Microsoft stamp out piracy. Give
Linux to a friend today!
Dennis Munding
2018-07-21 18:02:38 UTC
Permalink
Post by Bertel Lund Hansen
Post by Dennis Munding
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. :-)
Post by Bertel Lund Hansen
Post by Dennis Munding
Post by Bertel Lund Hansen
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
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??
--
Med venlig hilsen

Dennis Munding

---
Denne mail er kontrolleret for vira af AVG.
http://www.avg.com
Bertel Lund Hansen
2018-07-21 19:27:31 UTC
Permalink
Post by Dennis Munding
Post by Bertel Lund Hansen
Post by Dennis Munding
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
Kim Ludvigsen
2018-07-21 09:24:14 UTC
Permalink
Post by Bertel Lund Hansen
Post by Jan Hansen
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
2018-07-21 10:14:11 UTC
Permalink
Post by Kim Ludvigsen
Post by Bertel Lund Hansen
Post by Jan Hansen
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.
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... ;-)
--
Med venlig hilsen

Dennis Munding

---
Denne mail er kontrolleret for vira af AVG.
http://www.avg.com
Bertel Lund Hansen
2018-07-21 11:30:06 UTC
Permalink
Post by Dennis Munding
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
Dennis Munding
2018-07-20 12:00:46 UTC
Permalink
Post by Bertel Lund Hansen
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.)
Post by Bertel Lund Hansen
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>
Post by Bertel Lund Hansen
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
Loading...