12. maj 2006 - 11:59Der er
11 kommentarer og 1 løsning
Lægge værdier sammen?
Hej,
Jeg har en side, hvor jeg godt kunne tænke mig at have en <input type="text" name="total"> som løbende opdatere en værdi der bliver udregnet ved at lægge 3 felter sammen:
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
<script type="text/JavaScript"> function laeg_sammen(f) {
tal1 = f.tal1.value.replace(",", "."); // erstat "," med "." da JavaScript regner med ".", og ikke "," tal2 = f.tal2.value.replace(",", "."); // erstat "," med "." da JavaScript regner med ".", og ikke "," tal3 = f.tal3.value.replace(",", "."); // erstat "," med "." da JavaScript regner med ".", og ikke ","
// kør funktionen sidste_tegn_ej_tal som checker om det sidste tegn er et ".".. Resultatet skulle gerne være "false": if (!sidste_tegn_ej_tal(tal1) && !sidste_tegn_ej_tal(tal2) && !sidste_tegn_ej_tal(tal3)) { f.total.value = +tal1 + +tal2 + +tal3; // læg tal sammen f.total.value = f.total.value.replace(".", ","); // erstat "." med "," da man bruger "," og ikke "." } }
function sidste_tegn_ej_tal(inputvalue) { // sammenlign det sidste tegn med "." if (inputvalue.substring(inputvalue.length - 1) == ".") { // hvis det sidste tegn er ".", er resultatet "true" return true; } else { // hvis det sidste tegn IKKR er ".", er resultatet "false" return false; } } </script>
Tal, der kommer fra tekst-inputs opfattes som oftest som strenge. Replace-funktionene virker jo som bekendt kun på tekst-strenge (den er en metode på String-objektet) - så når man har kørt den, er JS helt sikker på, du vil betragte værdien som en streng ;o)
Da det jo er et tilbagevendende problem, kunne man passende lave en lille wrapper (- og lægge den på JS' Math-objekt, så den ligger, hvor den hører til):
Så er det ligemeget, om man fylder tal eller strenge i begge metoder :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.