Avatar billede thulstrup Nybegynder
05. november 2001 - 02:28 Der er 13 kommentarer og
1 løsning

ordliste

Skal bruge et script der kan generere en ordliste uden dubletter udfra det der indtastes i et tekstfelt.
Avatar billede jakoba Nybegynder
05. november 2001 - 02:40 #1
<script type=\'text/javascript\'>

function listOrd( ) {
    var str = document.formnavn.textfeltnavn.value;
    var ord = new Array()

    str = str.split(\" \");  // opdel teksten i de enkelte ord (str er nu et array)
    str = str.sort();    // sorter arrayet så dublette ligger ved siden af hinanden

    ord[ord.length] = str[0];
    for (var i=1; str.length>i; i++ ) {
        if ( str[i-1]!=str[i] ) ord[ord.length] = str[i];
    }
    document.formnavn.textfeltnavn.value = ord.join(\" \");
}; //end listOrd( )

</script>

mvh JakobA
Avatar billede thulstrup Nybegynder
05. november 2001 - 02:45 #2
Hvad skal jeg så skrive hvis jeg gerne vil have at de indtastede oplysninger skal sende til ordlisten v.h.a. en submit-knap?
Avatar billede jakoba Nybegynder
05. november 2001 - 02:55 #3
fx:

<form name=\'formnavn\' action=\"dinaction\" ... >

<input name=\'textfeltnavn\' type=\'text\' value=\"\">

<input type=\'submit\' value=\'fjern dubletter og send\'
      onclick=\"listOrd()\">

</form>
Avatar billede thulstrup Nybegynder
05. november 2001 - 03:14 #4
Lige for at være lidt besværlig:
Når jeg så submitter, skal den genererede ordliste gerne vises, hvordan går jeg så det?
Avatar billede jakoba Nybegynder
05. november 2001 - 09:35 #5
Det kan gøres på 14 måder altefter hvad du mener. Kan du fortælle lidt mere om hvordan du ønsker den vist.
Avatar billede thulstrup Nybegynder
05. november 2001 - 13:31 #6
Undskyld hvis jeg var lidt uklar.
Ordlisten skal gerne være alfabetisk og med et ord pr. linie.
Avatar billede jakoba Nybegynder
05. november 2001 - 14:04 #7
skrevet ud som:
a) en ny side i samme vindue (respons på submit)
b) en ny side (uafhængig af submit)
c) et andet formefelt på samme side (uden at der submittes)
d) ...
  ?

mvh JakobA
Avatar billede thulstrup Nybegynder
05. november 2001 - 14:53 #8
hmmm lad os sige som version a)
Avatar billede jakoba Nybegynder
05. november 2001 - 15:02 #9
Ok det serveren modtager i feltet textfeltnavn er den sorterede ordliste.
Den kan du så skrive ud på siden med fx:

<?php

if ( isset( $textfeltnavn ) ) {
    echo \"Den sorterede list er: <br>\";
    $liste = explode( \" \", $textfeltnavn );
    for ( $i=0; $i<$liste.length(); $i++ ) {
        echo $liste[$i].\"<br>\";
    }
} else {
    echo \"når du trykker på \'fjern dubletter og send\' vises den sorterede liste her\";
}

?>

mvh JakobA
Avatar billede thulstrup Nybegynder
05. november 2001 - 16:00 #10
Nu er vi jo lige pludselig over i PHP. Jeg vil meget gerne holde det i JavaScript.

Jeg ved ikke om du har misforstået, hvad jeg ønsker så jeg prøver lige at formulerer det igen.

Jeg vil gerne have et JavaScript der, når man trykker på en submit-knap, tager indholdet af et tekstfelt og i en ny side i samme vindue opstiller ordene alfabetisk og uden dubletter.

F.eks. hvis der i tekstfeltet stod:
\"Her er noget tekst. Her er noget mere.\"

ville resultatet blive:
er
her
mere
noget
tekst
Avatar billede jakoba Nybegynder
05. november 2001 - 16:25 #11
Ok. det er nok ordet submit der driller. submit sender de data der ligger i formen til serveren så den kan blive behandlet der. Til dette skal vi blot have en almidelig knap med en tilknyttet javascript funktion.

i head:

function listOrd( ) {
    var str = document.formnavn.textfeltnavn.value;
    var ord = new Array()

    str = str.split(\" \");  // opdel teksten i de enkelte ord (str er nu et array)
    str = str.sort();    // sorter arrayet så dublette ligger ved siden af hinanden

    ord[0] = str[0];
    for (var i=1; str.length>i; i++ ) {
        if ( str[i-1]!=str[i] ) ord[ord.length] = str[i];
    }
    var nytxt = \"De indtastede ord var<br>\";
    for (i=0; i<ord.length; i++ ) nytxt += ord[i]+\"<br>\";
    document.write( nytxt +\"klik \'back\' for at komme tilbage.\" );
}; //end listOrd( )

mvh JakobA
Avatar billede jakoba Nybegynder
05. november 2001 - 16:26 #12
<form name=\'formnavn\' action=\"dinaction\" ... >

<input name=\'textfeltnavn\' type=\'text\' value=\"\">

<input type=\'button\' value=\'fjern dubletter og vis\'
      onclick=\"listOrd()\">

</form>
Avatar billede thulstrup Nybegynder
05. november 2001 - 17:27 #13
Du må undskylde den lidt vage formulering, men den sidste løsning var lige den jeg tænkte på.
Mange tak for hjælpen!

M.v.h.
Rasmus

Avatar billede jakoba Nybegynder
05. november 2001 - 17:31 #14
selv tak :-))
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester